commons-logging和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显示,代码是从网上下的。