log4j之不同类产生日志存储不同日志文件中
2017-04-11 16:42
423 查看
log4j在项目的运用的必须的,有时候我们需要用他来记录一些很重要的信息,但是一些繁琐的,没必要的信息,我们就没必要在记录进去了,所以,今天来分享一下,如何将不同类产生的日志信息存储到不同的日志文件内、
首先,我们要把log4j的jar包导入<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优
先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定 义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。
#控制log信息输出的级别和方式 log4j.rootLogger=DEBUG,console,FILE #允许log信息显示在控制台上 log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.threshold=TRACE log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.conversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n log4j.logger.com.ibatis=TRACE #将sql相关信息打印,例如运行的sql语句,连接状态等 log4j.logger.com.xiao.dao=TRACE log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=TRACE log4j.logger.com.ibatis.common.jdbc.ScriptRunner=TRACE log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=TRACE log4j.logger.java.sql.Connection=TRACE log4j.logger.java.sql.Statement=TRACE log4j.logger.java.sql.PreparedStatement=TRACE,console #控制log信息输出的格式 log4j.appender.FILE=org.apache.log4j.RollingFileAppender log4j.appender.FILE.Append=true log4j.appender.FILE.File=springmvc.log log4j.appender.FILE.Threshold=DEBUG log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c a91a -%F(%L) -%m%n log4j.appender.FILE.MaxFileSize=20MB log4j.org.springframework.web=DEBUG
这是我们平常基本的一些配置,那么,如果我们需要在不同类记录信息时
1》、需要声明多个log,然后声明该方法的名字,我们以登录为例
#login.log log4j.logger.login=INFO,login log4j.appender.login=org.apache.log4j.DailyRollingFileAppender log4j.appender.login.File=${log4jdir}/logs/login.log log4j.appender.login.DatePattern='_'yyyy-MM-dd'.log' log4j.appender.login.layout=org.apache.log4j.PatternLayout log4j.appender.login.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%5p] - %c -%F(%L) -%m%n log4j.additivity.login=true第一条配置就是在声明方法名
第二条配置是每天产生一个日志
第三条配置是控制日志输出的路径,至于${log4jdir}我已经通过web.xml去配置了一个路径,所以在这里直接使用
至于下面几条就不一一介绍了
2》、然后在我们需要使用log输出信息的类中声明
private static final Logger login = Logger.getLogger("login");//调用log4j.properties里面声明的日志文件名 private static Log log = LogFactory.getLog(AccountController.class);//声明日志类注意了,里面的参数名必须和log4j.properties里面的相同
3》、然后我们在需要测试的方法内,输出信息即可
login.info("当前登录用户:"+gymOwner.getAccount()); login.info("登录时间:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));然后运行我们的项目,我们就可以在我们定义的路径下,找到刚刚生成的log文件
然后打开里面的内容就可以看到我们输出的信息了
2017-04-12 16:06:35,402 INFO [login 77 com.yunyunsport.web.AccountController.login(AccountController.java:77)] - 当前登录用户:lisi 2017-04-12 16:06:35,406 INFO [login 78 com.yunyunsport.web.AccountController.login(AccountController.java:78)] - 登录时间:2017-04-12 16:06:35
相关文章推荐
- log4j使用心得之一 -- 自定义日志级别并分不同文件存储
- log4j按包把日志信息存储到不同的日志文件中
- log4j的日志配置,按照不同包产生不同的日志文件
- Log4j按级别输出日志到不同的文件2009-09-07 13:29会按日存分割日志文件,并且根据级别输出到不同的文件
- Log4j按级别输出日志到不同的文件
- Log4j按级别输出日志到不同文件配置分析
- log4j日志分级别输出到不同文件
- Log4j 实现不同包下的日志打印到不同文件下
- Log4j按级别输出日志到不同的文件
- Log4j配置详解及不同的包(package)下的日志写入到不同的日志文件下
- Log4j 程序中动态创建多个logger 生成不同的日志文件
- 【J2EE系列】log4j日志输出分级别或模块到不同文件
- log4j 输入不同日志文件
- Log4j按级别输出日志到不同的文件
- log4j不同级别日志分不同文件记录
- log4j日志输出分级别或模块到不同文件
- Log4j按级别输出日志到不同文件配置分析
- log4j 分级别写入不同的日志文件
- 使log4j不同level的日志输出到不同文件
- Log4j配置详解及不同的包(package)下的日志写入到不同的日志文件下