log4j的使用与日志的模块化管理

时间:2022-07-03 21:49:11

首先说说log4j的使用:

1)将log4j日志bao加进项目里面。
2)配置log4j.properties.
顶行配置:log4j.rootCategory=WARN, stdout,root

3) 在具体写日志的类中使用日志实体。
        private static Logger loginLogger = Logger.getLogger("com._21cn.member.analyticslog.utils.AnalyticsLogUtil.loginLog");
    private static Logger registerLogger = Logger.getLogger("com._21cn.member.analyticslog.utils.AnalyticsLogUtil.registerLog");
    private static Logger log = Logger.getLogger("com._21cn.member.analyticslog.utils.AnalyticsLogUtil.registerAndLoginLogError");
    private static Logger privilegeLogger = Logger.getLogger("com._21cn.member.analyticslog.utils.AnalyticsLogUtil.privilegeLog");
    private static Logger privilegeLogError = Logger.getLogger("com._21cn.member.analyticslog.utils.AnalyticsLogUtil.privilegeLogError");
上面是在具体的类里面实例化一个log,然后取一个唯一的名称。

4)在log4j中定义日志实体保存到哪里,以什么格式保存。
######loginAllLog####
log4j.logger.com._21cn.member.util.AnalyticsLogHelper.loginLog=DEBUG, loginAllLog
log4j.additivity.com._21cn.member.util.AnalyticsLogHelper.loginLog=false
log4j.appender.loginAllLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.loginAllLog.File=/data/jsp/logs/loginAllLog.log
log4j.appender.loginAllLog.layout=org.apache.log4j.PatternLayout
log4j.appender.loginAllLog.layout.ConversionPattern=%m%n


######registerAllLog####
log4j.logger.com._21cn.member.util.AnalyticsLogHelper.registerLog=DEBUG, registerAllLog
log4j.additivity.com._21cn.member.analytics.AnalyticsLogHelper.registerLogger=false
log4j.appender.registerAllLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.registerAllLog.File=/data/jsp/logs/registerAllLog.log
log4j.appender.registerAllLog.layout=org.apache.log4j.PatternLayout
log4j.appender.registerAllLog.layout.ConversionPattern=%m%n

首先,com._21cn.member.util.AnalyticsLogHelper.loginLog这一句是获取具体的实例,然后取个别名:loginAllLog。接着就是设置保存的路径等内容。
这样子的话,就可以在/data/jsp/logs/中生成上面的日志文件了。

接下来说说日志的模块化管理,为什么要模块化管理呢,具体原因有:1 提供给其他模块的日志不能有依赖 2 便于维护
以下是我的日志模块的思路:
1)总的日志类,所有的方法的调用都在AnalyticsLogUtil里面,使用方法是类.方法().
2)不同的日志有不同的日志实体.

3)不同的写日志有不同的task.


log4j的使用与日志的模块化管理


log4j的使用与日志的模块化管理