目前流行的日志门面接口有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是变量
分享到:
相关推荐
ext日志管理系统ext日志管理系统ext日志管理系统ext日志管理系统ext日志管理系统ext日志管理系统
SAP系统业务-查询系统日志信息全文共5页,当前为第2页。 SAP系统业务-查询系统日志信息全文共5页,当前为第2页。 3. SE16N, 查看表CDHDR,查看某个用户是否对数据库表作了更改 SAP系统业务-查询系统日志信息全文共5...
C#.net 办公日志管理系统办公日志管理系统办公日志管理系统C#.net 办公日志管理系统办公日志管理系统办公日志管理系统C#.net 办公日志管理系统办公日志管理系统办公日志管理系统C#.net 办公日志管理系统办公日志管理...
系统日志诊断工具系统日志诊断工具系统日志诊断工具系统日志诊断工具系统日志诊断工具系统日志诊断工具
基于Hadoop网站流量日志数据分析系统 1、典型的离线流数据分析系统 2、技术分析 - Hadoop - nginx - flume - hive - mysql - springboot + mybatisplus+vcharts nginx + lua 日志文件埋点的 基于Hadoop网站流量...
用来分析系统日志系统日志系统日志系统日志系统日志
最好每天,至少每周一次,取决于你的审查政策。/var/adm/utmp:系统记录的日志,跟踪仍然登录的用户,但有时shell被停止或未清除干净,会有问题 理解其他日志文件的内容有助于安全管理员认清系统中正在发生的事情。
struts aop日志系统,struts aop日志系统
日志系统(高级版本) 日志系统(高级版本).pdm 日志系统(高级版本).pdm 日志系统(高级版本).pdm
操作系统日志读取,查看 操作系统日志读取,查看 操作系统日志读取,查看
C语言实现日志系统; 用户使用指南: 1. 本数据包中存在三个文件夹,分别是 self-syslog syslogPrintf 和 user-demo, 其中 self-syslog 文件夹中包含系统日志源文件,读取配置文件函数,以及用户自定义写日志函数; ...
一套成熟的系统往往都有相应的日志系统,以便调试查看 Qt的打印信息默认处理程序将消息打印到X11下的标准输出或Windows下的调试器,其实我们可以自己处理相关打印信息,可以选择保存下来、或者界面显示,网络传输...
基于SSM的日志系统
C++实现的日志系统,支持变长参数,支持文件大小控制。
员工工作日志管理系统1.0源码.rar
在 日志 管 理系统的设计和实现中首先分析了日志管理系统实现的常用技术,还详细 分析了日志格式一Windows操作系统事件日志、UNIX系统日志和通用防火墙日志。系统 通过采集、筛选分析法、特征匹配分析法、统计网络...
寄予工作日志管理系统是一个人与人之间进行交互的虚拟平台。以前大小企业及公司都是使用‘工作日志卡’或者是纸质通知的形式,这样安全性不高,而且不易维护及产看。随着您需要的各种信息量的大规模化,越来越多的...
(转)日志对于操作系统来说其重要性时不言而喻的,一个优秀的nt网络的管理员,往往会定期的备份系统日志,以备查询服务器运行状况及系统安全状况。 如果利用系统日志的“另存为”功能手工备份,则比较麻烦,而且输出...
[C#]写系统日志和写日志文件 如下代码向一个文本文件写入字符内容; 并在事件日志 MyNewLog 中写入一项;
Asp.net 日志系统