log4j管理日志

来源:互联网 发布:qq空间辅助软件 编辑:程序博客网 时间:2024/06/05 10:24
package com.t1;import java.util.Map;import org.apache.log4j.Logger;public class UserServiceImpl {private static final  Logger logger=Logger.getLogger("com.t1.UserServiceImpl.checkLogin");public Map<String, Object> checkLogin(){logger.debug("this is a debug tip");logger.info("this is a info tip");logger.error("this is a error tip");return null;}public static void main(String[] args) {new UserServiceImpl().checkLogin();}}


log4j.properties 

log4j.rootLogger=debug,console  log4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.layout.ConversionPattern=[%-5p] [%d{yyyy-MM-dd HH:mm:ss,SSS}] [%c %t] - %m%nlog4j.appender.console.Threshold=debuglog4j.appender.console.Target=System.outlog4j.appender.console.layout=org.apache.log4j.PatternLayoutlog4j.logger.java.sql.ResultSet=INFOlog4j.logger.org.apache=DEBUGlog4j.logger.java.sql.Connection=DEBUGlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.PreparedStatement=DEBUGlog4j.logger.org.mybatis.spring=debuglog4j.logger.org.springframework=infolog4j.logger.com.ibatis = debuglog4j.logger.com.ibatis.common.jdbc.SimpleDataSource = debuglog4j.logger.com.ibatis.common.jdbc.ScriptRunner = debuglog4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = debug#checkLoginlog4j.appender.checkLoginError=org.apache.log4j.DailyRollingFileAppender#log4j.appender.checkLogin.File=${catalina.base}/logs/recommender/getRankingGoodsList_error.loglog4j.appender.checkLoginError.File=d:/logs/user/checkLogin_error.loglog4j.appender.checkLoginError.DatePattern='.'yyyy-MM-ddlog4j.appender.checkLoginError.layout=org.apache.log4j.PatternLayoutlog4j.appender.checkLoginError.layout.ConversionPattern=%d [%t] %p %m%nlog4j.appender.checkLoginError.Threshold=errorlog4j.appender.checkLogin=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.checkLogin.File=d:/logs/user/checkLogin.loglog4j.appender.checkLogin.DatePattern='.'yyyy-MM-ddlog4j.appender.checkLogin.layout=org.apache.log4j.PatternLayoutlog4j.appender.checkLogin.layout.ConversionPattern=%d [%t] %p %m%nlog4j.appender.checkLoginError.Threshold=debuglog4j.logger.com.t1.UserServiceImpl.checkLogin=info,checkLoginError,checkLogin,consolelog4j.additivity.com.t1.UserServiceImpl.checkLogin=false


配置要放在classpath下

rootLogger定义了跟日志的输出级别和目的地;

接着是对控制台输出的定义

如果项目集成了spring和mybatis定义了日志输出级别

checkLogin的错误日志(error)和日志(debug)进行定义,生成到文件,每天一个

指定checkLogin只输出info级别日志,目的地是 2个文件和控制台,并且不使用根日志的输出目的地,如果checkLogin此时输出目的地不写console,日志不会输出到控制台。