J2ee项目从0搭建(十):在项目中集成log日志收集(slf4j+log4j)
2016-07-29 10:40
639 查看
一、导入依赖jar:
<!-- slf4j --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.5</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <scope>runtime</scope> <version>1.7.5</version> </dependency> <!-- log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
二、配置log4j.properties:在项目根目录下(resources)增加。
### set log levels ### log4j.rootLogger=DEBUG, Console, D #console log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n #output2file log4j.appender.D=org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File=./logs/buildmavenweb.log log4j.appender.D.Append=true log4j.appender.D.Threshold=DEBUG log4j.appender.D.layout=org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
配置详情不明白的可以到这边查看了解:log4j.properties 配置详解
三、在代码中进行日志记录:
public class LogTest { private static final Logger LOG = org.slf4j.LoggerFactory.getLogger(LogTest.class); public static void main(String[] args) { LOG.info("{}", "打印info日志"); LOG.debug("{}", "打印debug日志"); LOG.error("{}", "打印error日志"); } }
2016-07-29 10:21:39,369 [main] INFO [com.spring.demo.log.LogTest] - 打印info日志 2016-07-29 10:21:39,370 [main] DEBUG [com.spring.demo.log.LogTest] - 打印debug日志 2016-07-29 10:21:39,370 [main] ERROR [com.spring.demo.log.LogTest] - 打印error日志
所打印的日志格式就是我们在log.properties中定义的,并且在我们的项目中会有一个log文件夹(与src同级)中有 buildmavenweb.log中记录了。
四、以上就是基本的日志使用和配置,因为日志的记录量都比较大,随着时间的积累,文件会越来越大(我们选择每天生成一个日志文件),我们会无法精准的找到某天的日志,所以我们就会发现有的项目中的日志文件后面是加上了日期的,我们也优化下加上日期:
在我们原有的基础上,我们只需要导入依赖包:<dependency> <groupId>log4j</groupId> <artifactId>apache-log4j-extras</artifactId> <version>1.0</version> </dependency>
然后每天生成新log文件时,会将前一天的文件自动加上日期重命名。
======================================================================================================================
为了便于大家学习,项目将被开源在我的github上:
项目地址:https://github.com/gubaijin/buildmavenweb
如何将项目开源道github,请看我的另一篇博文:GitHub上创建项目 并初始化本地工程提交到GitHub上
相关文章推荐
- J2ee项目从0搭建(五):最新Spring下载(BOM解决jar包依赖)、集成
- logz.io一个企业级的ELK日志分析器 内部集成了机器学习识别威胁——核心:利用用户对于特定日志事件的反馈处理动作来学习判断日志威胁 + 类似语音识别的专家系统从各方收集日志威胁信息
- J2ee项目从0搭建(七):集成Mybatis、mybatis-generator代码生成、MySQL数据库
- 基于Centos 6.5+MariaDB+loganalyzer+syslog搭建远程系统日志收集和分析环境
- J2ee项目从0搭建(八):集成Mybatis、mybatis-generator代码生成、Oracle数据库
- J2ee项目从0搭建(六):Spring MVC集成
- J2ee项目从0搭建(十一):在项目中集成Redis,用于数据的存储或者缓存
- J2ee项目从0搭建进阶(一):springmvc 集成 tiles3实现页面模板
- Flashbuilder4.6 + eclipse for j2ee + Blazeds,简单web项目搭建简单明了的指南
- rsyslog+loganalyzer日志服务器搭建
- Linux 日志服务器搭建(rsyslog+loganalyzer)
- J2EE环境搭建(二)安装Eclipse插件和第一个Eclipse项目
- (jenkins)hudson平台搭建android项目持续化集成以及基于NativeDriver的UI自动化测试环境
- 用MSBuild和Jenkins搭建持续集成环境(1)[收集]
- J2EE项目集成SAP的BO报表
- (jenkins)hudson平台搭建android项目持续化集成以及基于NativeDriver的UI自动化测试环境
- RHEL 6.x 搭建rsyslog日志服务器和loganalyzer 日志分析工具 推荐
- 用Kibana和logstash快速搭建实时日志查询、收集与分析系统
- log4cpp(Log library for C++) 跟踪项目的日志
- 将JBOSS4下的项目Log日志输到其它文件中