slf4j-api、slf4j-log4j12以及log4j之间的关系 :
http://blog.csdn.net/woshixuye/article/details/20858239
使用slf4j + Log4j2构建日志 :
http://blog.csdn.net/heyutao007/article/details/50371668
首先下载相关jar,log4j-1.2.17.jar,slf4j-api-1.7.9.jar,slf4j-log4j12-1.7.9.jar
package org;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class testSFL4J {
private static Logger log = LoggerFactory.getLogger(testSFL4J.class);
public static void main(String[] args) {
log.debug("=======test root=========");
log.info("========test daily level info=========");
log.warn("========test warn=========");
log.error("========test error=========");
}
}
log4j有两种配置方式,一种为XML,一种为java属性文件properties,我的配置方式为
log4j.properties,具体内容如下:
log4j.rootLogger = DEBUG,stdout,D
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.Threshold = DEBUG
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
#log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} %c %l %m%n
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} %c %m%n
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = F://logs/log.log
log4j.appender.D.Append = true
### when the appender Threshold is null, extend from rootLogger,
### when the appender Threshold is exist, compare the Threshold with the level of rootLogger
### set the higher level
log4j.appender.D.Threshold = ERROR
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = [%-5p] %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - %c%m%n
#log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
#log4j.appender.E.File =F://logs/error.log
#log4j.appender.E.Append = true
#log4j.appender.E.Threshold = ERROR
#log4j.appender.E.layout = org.apache.log4j.PatternLayout
#log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
控制台输出:
[DEBUG] 2016-10-22 11:52:52,084 org.testSFL4J =======test root=========
[INFO ] 2016-10-22 11:52:52,084 org.testSFL4J ========test daily level info=========
[WARN ] 2016-10-22 11:52:52,084 org.testSFL4J ========test warn=========
[ERROR] 2016-10-22 11:52:52,084 org.testSFL4J ========test error=========
文件输出:
[ERROR] 2016-10-22 11:52:52 [ main:0 ] - org.testSFL4J========test error=========
总结:
从上面可以看出,当appender的Threshold为控制,则继承rootLogger,当不为null时,输出等级,以appender和rootLogger等级高的为准。
分享到:
相关推荐
slf4j-远程 适用于slf4j的android远程记录器。 它首先将日志行保存到内存缓冲区,然后保存到文件,然后发送到http服务器。特征轻量级25 kb 通过http发送日志玛文< repositories> < repository> < id>jitpack.io...
赛威科技SFL678,扩展同步调光技术,支持模拟/数字/TRIAC调光,调光比高达1000:1
SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种...按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志System
ABB SFL SF6 负荷开关安装使用说明书pdf,ABB SFL SF6 负荷开关安装使用说明书
SFL水泥烧成系统垃圾焚烧技术.docx
新安装的allergo16.5,用了好长一段时间没有问题,后来莫名其妙的就出问题了,打开时提示如下错误:运行Capture.exe找不到cdn_sfl401as.dll。
一个国外公司开发的金融交易系统开源项目,java语言,纯英文环境
一些基础功能函数实现,种类比较多,大家可以参考一下。
SFLM Admin.url
在浏览器的地址栏中键入命令,并扩展您的浏览体验:-sfl用[provider]查找[keyword] –用您要搜索的任何单词或短语替换[keyword],并用[provider]替换[provider]您选择的搜索服务提供商,例如Google,Ecosia,Amazon...
解决Cadence Orcad 无法启动,出现Capture.exe找不到cdn_sfl401as.dll问题,XP和win7测试能通过。
AS400 RPG SFL自动翻页代码
ABB SFL SF6负荷开关产品传单pdf,ABB SFL SF6负荷开关产品传单
时频分析使用的源代码,希望对大家有用,接着上传!
30)_油箱循环过滤装置Filtration unit_SFL172554.pdf
谷歌师兄的leetcode刷题笔记mds - 现代化的 ...sfl4j/logback 已经成为新项目的“标准实践”已经有一段时间了,并且在同类工作中被广泛使用:例如,我们的 Fedora 兄弟已经接受了它。 只进行了迁移脚本辅助
傻瓜式操作!!! 数据恢复软件 U盘数据恢复 硬盘数据恢复 内存卡数据恢复 很好用的一个数据恢复软件 附加:注册码!!! Name:sfl4800 Code:07500415-16E216A0-4A92FD83-C833796F-925B4CA3
sfl_challenge
一款CD机的源程序(带显示遥控和功率放大)
该转换器允许从 Sound Forge SFL 文件中提取与音轨区域相关联的文本标签,并将它们以 Audacity 识别的格式保存到 TXT 文件中(也可以进行反向转换)。