zoukankan      html  css  js  c++  java
  • 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显示,代码是从网上下的。

    代码下载链接

  • 相关阅读:
    温故而知新 js 点击空白处关闭气泡
    javascript 打印错误信息 catch err
    ajax application/json 的坑
    nodejs 的好基友:pm2
    有道翻译 / 百度翻译Api
    PHP 正则表达式
    php 正则替换
    github get 请求指定页面的代码
    H5 input 聚焦 置顶
    autoHotKey 一些脚本积累
  • 原文地址:https://www.cnblogs.com/tomcattd/p/3116623.html
Copyright © 2011-2022 走看看