commonslogging和log4j配合使用

日志在项目中很重要,在调试神马的很不错。

(一)事先准备的包

commons-logging-1.1.jar

log4j-1.2.16.jar

slf4j-api-1.7.2.jar

slf4j-log4j12-1.6.4.jar

(二)还得有一个配置文件

配置文件的目录:

src/conf/log4j.properties

文件的内容

log4j.rootLogger=INFO,A1,A2,A3

log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.Threshold=INFO

log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.A2.Threshold=INFO 
log4j.appender.A2.File=./log/dailyLog/ENDailyRollingLog.log 
log4j.appender.A2.DatePattern='.'yyyy-MM-dd'.log'

log4j.appender.A3=org.apache.log4j.RollingFileAppender 
log4j.appender.A3.Threshold=INFO
log4j.appender.A3.File=./log/ENRollingLog.log
log4j.appender.A3.MaxFileSize=5MB
log4j.appender.A3.MaxBackupIndex=5log4j.appender.A1.layout=org.apache.log4j.PatternLayout 
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} <# %l> %-5p [%r]:%n%m%n
log4j.appender.A2.layout=org.apache.log4j.PatternLayout 
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} <# %l> %-5p [%r]:%n%m%n
log4j.appender.A3.layout=org.apache.log4j.PatternLayout 
log4j.appender.A3.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} <# %l> %-5p [%r]:%n%m%n

 (三)建立项目后,在项目起始类里写个静态代码块

    static {
        // 启动日志de
        try {
            PropertyConfigurator.configure(StudentTableTest.class.getClassLoader().getResource("").toURI().getPath()
                    + "./conf/log4j.properties");// 红色的部分就是类的名字
            log.info("---日志系统启动成功---");
        } catch (Exception e) {
            log.error("日志系统启动失败:" + e);
        }
    }

(四)这里有个可以间隔输出程序占用内存的方法

public void watchMemory() {
        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            @Override
            public void run() {
                log.info("当前虚拟机已占用内存"
                        + ((Runtime.getRuntime().totalMemory() - Runtime
                                .getRuntime().freeMemory()) / 1024 / 1024)
                        + "M");
            }
        }, 0, 1000);

    }

这是隔一秒输出一下程序占用的内存情况,你也可以自己设置时间,把上面的1000改成你想要输出的时间,注意它的单位是毫秒。

(五)有个项目例子,主要是一个table显示,代码是从网上下的。

代码下载链接

原文地址:https://www.cnblogs.com/tomcattd/p/3116623.html