NetBeans如何使用slf4j输出日志
来源:互联网 发布:淘宝cf卖号是真的吗 编辑:程序博客网 时间:2024/06/13 22:03
在网上找了些资料阅读,本文结合网上资料和个人实践进行编写,本文一些内容直接取自不同的网上文章。
此处主要是slf4j+logback输出日志。按照1.1、1.1.1、1.1.2即可完成配置。
1.slf4j日志
参考:http://hanhongke123.blog.163.com/blog/static/62223494201241631644433/
参考:http://hanhongke123.blog.163.com/blog/static/62223494201241631644433/
Slf4j : 全称为Simple Logging Facade for JAVA:java简单日志门面。 是对不同日志框架提供的一个门面封装。可以在部署的时候不修改任何配置即可接入一种日志实现方案。
其实slf4j原理很简单,它只提供一个核心slf4j api(就是slf4j-api.jar包),这个包只有日志的接口,并没有实现,所以如果要使用就得再给它提供一个实现了些接口的日志包,比如:log4j,common logging,jdk log日志实现包等,但是这些日志实现又不能通过接口直接调用,实现上他们根本就和slf4j-api不一致,因此slf4j又增加了一层来转换各日志实现包的使用,当然slf4j-simple除外。
SLF4J结构
slf4j-api(接口层)
=>
各日志实现包的连接层( slf4j-jdk14, slf4j-log4j)
=>
各日志实现包
slf4j-api(接口层)
=>
各日志实现包的连接层( slf4j-jdk14, slf4j-log4j)
=>
各日志实现包
注意:如果有任意两个实现slf4j 的包同时出现,那就有可能酿就悲剧,你可能会发现日志不见了、或都打到控制台了。
原因是这两个jar 包里都有各自的org.slf4j.impl.StaticLoggerBinder ,编译时候绑定的是哪个是不确定的。
原因是这两个jar 包里都有各自的org.slf4j.impl.StaticLoggerBinder ,编译时候绑定的是哪个是不确定的。
使用SLF4j 的时候为了避免冲突,一定要保障只有一种实现类jar 包在里面。
1.1.slf4j+logback
需要配置:
slf4j-api-1.6.4.jar
slf4j-jdk14-1.7.21.jar
logback-core-1.1.7.jar
logback-classic-1.1.7.jar
logback.xml
需要配置:
slf4j-api-1.6.4.jar
slf4j-jdk14-1.7.21.jar
logback-core-1.1.7.jar
logback-classic-1.1.7.jar
logback.xml
Logback : LOGBack 作为一个通用可靠、快速灵活的日志框架,将作为Log4j 的替代和SLF4J 组成新的日志系统的完整实现。官网上称具有极佳的性能,在关键路径上执行速度是log4j 的10 倍,且内存消耗更少。具体优势见:
http://logback.qos.ch/reasonsToSwitch.html
http://logback.qos.ch/reasonsToSwitch.html
1.1.1.pom.xml
注意配置了logback的话,就不要配置slf4j-log4j12。否则,日志冲突,导致部署后无法输出日志文件。貌似引入slf4j-jdk14自动就引入slf4j-api-1.6.4.jar了。
注意配置了logback的话,就不要配置slf4j-log4j12。否则,日志冲突,导致部署后无法输出日志文件。貌似引入slf4j-jdk14自动就引入slf4j-api-1.6.4.jar了。
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.7.21</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.1.7</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.7</version>
</dependency>
1.1.2.logback.xml
文件logback.xml放到src\main\resources目录下,如:src\main\resources\logback.xml
文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<configuration>
<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
<withJansi>true</withJansi>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %highlight(%-5level) [%thread] %cyan(%logger) - %msg%n</pattern>
</encoder>
</appender>
<withJansi>true</withJansi>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %highlight(%-5level) [%thread] %cyan(%logger) - %msg%n</pattern>
</encoder>
</appender>
<appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>log/TServer.log</File>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level [%thread] %logger - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/TServer.log.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
</appender>
<File>log/TServer.log</File>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level [%thread] %logger - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/TServer.log.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
</appender>
<logger name="com" level="debug">
<appender-ref ref="consoleAppender,fileAppender" />
</logger>
<appender-ref ref="consoleAppender,fileAppender" />
</logger>
<root level="trace">
<appender-ref ref="consoleAppender" />
<appender-ref ref="fileAppender" />
</root>
<appender-ref ref="consoleAppender" />
<appender-ref ref="fileAppender" />
</root>
</configuration>
阅读全文
0 0
- NetBeans如何使用slf4j输出日志
- 使用slf4j统一日志输出到log4j
- 如何启用设置org.slf4j.Logger打印并输出日志
- android 使用log4j SLF4J 输出日志到文件中
- 使用slf4j和logback输出日志到控制台
- java Spring中使用slf4j日志在控制台输出
- 利用slf4j配置日志输出
- spring集成slf4j日志输出
- slf4j日志的使用
- slf4j日志的使用
- 使用slf4j编写日志
- slf4j日志的使用
- SLF4J日志的使用
- 如何使用SLF4J切换不同的日志系统
- SLF4J库管理java程序日志输出
- slf4J+logback日志多文件输出
- slf4j+logback将日志输出到控制台
- slf4j+logback将日志输出到控制台
- 关于STL中vector使用unique()去重
- 记录Android国际化图片资源的一个坑
- WebRtc技术实现网页摄像头录制视频并上传服务器
- 边缘发光
- 数据库大批量SQL插入性能优化
- NetBeans如何使用slf4j输出日志
- 校园定制大神,如何打造回头率百分百文化衫
- 使用jq和css3自制横向左右滑动图片列表
- MFC工程更改按钮背景颜色,编辑框背景颜色,给按钮加载图片
- AngularJS 过滤器
- python 和c#共用memcached
- MyBatis Sql语句中的转义字符
- RxJava2.0使用
- windows7下硬盘安装linux