目前流行的日志门面接口有common-logging、slf4j,以前一直都在使用前者,后来许多文章都在介绍slf4j,很多地方都在介绍slf4j的优点(最主要的比common-logging优越的地方是能在OSGi环境下使用,但是至于为什么common-logging不能使用还是不太清楚),因此决定开始尝试slf4j,对于jar包引入方面,感觉稍微没有common-logging方便,common-logging会自动从众多日志实现的jar包中自动选择,而slf4j需要放入“合适”的jar包才能使用,当然这根它的实现机制有关系,slf4j的实现机制要求她必须这么做。
对于日志门面接口的介绍网上有很多文章介绍,不多说废话了,直接记录点实惠的东西,供查用。
slf4j这是门面接口,没有实现,如同common-logging一样,需要搭配具体的实现才能使用;
貌似logback是slf4j的亲密搭配,从引入jar包的名称也能看出来;
下面介绍两种搭配方式:
1. slf4j+logback
引入包:slf4j-api.jar、logback-classic、logback-core.jar (注意这三个版本必须一致)
logback最简单的配置示例(不是必须的)logback.xml:
<configuration debug="true">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!-- encoders are assigned by default the type ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
<!-- 下面配置一些具体包的日志过滤级别 -->
<logger name="org.apache.activemq" level="WARN"/>
</configuration>
2.slf4j+log4j
引入包:slf4j-api.jar、slf4j-log4j.jar、log4j.jar(注意三个版本必须一致)
log4j配置示例,log4j.properties:
#设置级别和目的地
log4j.rootLogger=debug,appender1
#输出到控制台
log4j.appender.appender1=org.apache.log4j.ConsoleAppender
#设置输出样式
log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
#自定义样式
# %r 时间 0
# %t 方法名 main
# %p 优先级 DEBUG/INFO/ERROR
# %c 所属类的全名(包括包名)
# %l 发生的位置,在某个类的某行
# %m 输出代码中指定的讯息,如log(message)中的message
# %n 输出一个换行符号
log4j.appender.appender1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M] %m%n
#输出到文件(这里默认为追加方式)
log4j.appender.appender2=org.apache.log4j.FileAppender
#设置文件输出路径
#【1】文本文件
log4j.appender.appender2.File=c:/log1.log
#设置文件输出样式
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern=[%d{HH:mm:ss:SSS}][%C-%M] -%m%n
无论哪种搭配方式,程序中使用的方法如下:
程序中先定义logger
private static Logger logger = LoggerFactory.getLogger(YourClass.class);//slf4j logging
程序中日志输出方法:
logger.debug("hello");
logger.info("hello{}",p);//p是变量
分享到:
相关推荐
### Unix系统日志系统记录的日志 在Unix系统中,日志系统扮演着至关重要的角色,它能够帮助管理员监控系统的运行状态、排查故障并确保系统的安全性。为了更好地理解和利用这些日志,本篇文章将深入探讨Unix系统中的...
2. **日志存储与归档**:系统可以存储大量的日志数据,并支持灵活的归档策略,确保历史日志的安全保存,以便于长期追踪和审计。 3. **日志搜索与过滤**:EXT提供强大的搜索功能,允许用户通过关键词、时间范围、...
操作日志系统是一种重要的软件组件,它记录了用户或系统执行的各种操作,为故障排查、安全审计、性能分析和业务追踪提供了宝贵的数据。本资料"操作日志系统设计"将探讨设计这样一个系统的各个方面,帮助开发者理解和...
这个日志系统是基于SSM框架实现的,它旨在记录和管理应用程序运行过程中的各种信息,帮助开发者追踪错误、监控性能、分析用户行为等。 1. **Spring框架**:Spring是核心的依赖注入(DI)和面向切面编程(AOP)框架...
操作系统日志是记录系统活动和事件的重要工具,它包含了系统运行过程中的各种信息,如错误、警告、信息性消息等。这些日志对于诊断问题、维护系统安全和追踪潜在故障至关重要。本文将深入探讨如何在不同的操作系统中...
日志管理系统是IT行业中至关重要的一个组成部分,它主要用于收集、存储、分析以及监控应用程序和系统产生的日志数据。日志信息记录了系统运行时的详细情况,包括错误、警告、调试信息等,对于故障排查、性能优化、...
C#.net 办公日志管理系统办公日志管理系统办公日志管理系统C#.net 办公日志管理系统办公日志管理系统办公日志管理系统C#.net 办公日志管理系统办公日志管理系统办公日志管理系统C#.net 办公日志管理系统办公日志管理...
2. **定义日志条目**:系统日志记录的每一条信息都被称为一个事件。在Delphi中,你可以通过`TEventLogRecord`结构来定义一个事件,包括事件ID、类别、严重性、源名等信息。 3. **注册日志源**:在写入日志前,需要...
在IT行业中,日志系统是不可或缺的一部分,它用于记录应用程序运行过程中的事件、错误和调试信息,便于开发者追踪问题和优化程序。C++作为一种强大的系统级编程语言,也有许多实现日志系统的方案。针对你提供的资源...
基于Hadoop网站流量日志数据分析系统 1、典型的离线流数据分析系统 2、技术分析 - Hadoop - nginx - flume - hive - mysql - springboot + mybatisplus+vcharts nginx + lua 日志文件埋点的 基于Hadoop网站流量...
在Windows操作系统中,系统日志记录了系统的各种事件,包括安全事件、系统事件、应用程序事件以及网络连接等信息。这些日志数据对于诊断系统问题、排查故障和审计追踪至关重要。因此,定期对系统日志进行备份是维护...
政府工作日志系统是一种专为行政管理设计的信息技术解决方案,旨在提高工作效率,规范工作流程,并确保工作的可追溯性和透明度。这个系统的核心功能是记录、管理和分析政府工作人员的工作活动,以便于监督、评估和...
网御安全管理系统-日志审计系统-v3.0.0.01002-设备配置手册.pdf 本手册是网御安全管理系统-日志审计系统的用户手册,旨在为用户提供详细的配置指南和操作说明。本手册涵盖了日志审计系统的设备配置、事件来源、日志...
用来分析系统日志系统日志系统日志系统日志系统日志
在IT行业中,日志系统是不可或缺的组成部分,它主要用于记录应用程序运行时的详细信息,帮助开发者追踪错误、调试代码以及优化系统性能。本项目“简单易用的日志系统”是基于Tomcat服务器和SLF4J(Simple Logging ...
《员工工作日志管理系统1.0源码》是一款专为企业管理设计的应用,旨在高效地跟踪和管理员工的工作日志,从而提升工作效率,优化工作流程。该系统的核心功能包括员工日志记录、工作状态追踪、任务分配及反馈等,为...
在ASP日志系统中,我们关注的是如何利用ASP技术来构建一个能够记录、管理和分析系统活动的日志系统,这对于监控网站性能、追踪错误、安全审计以及故障排查等方面具有重要意义。 在基于ASP开发的日志系统中,主要...
SSH日志管理系统是一种基于Spring、Struts和Hibernate(SSH)三大主流Java Web开发框架构建的日志管理解决方案。SSH框架组合提供了强大的数据持久层、业务逻辑层和表现层支持,是许多企业级应用开发的首选技术栈。在...
根据提供的文件信息,文档的标题是“日志管理系统需求分析.pdf”,这意味着文档的焦点是分析和阐述一个日志管理系统在实施前所需满足的功能性及非功能性需求。描述部分重复了标题内容,未提供额外信息。标签“技术及...