zoukankan      html  css  js  c++  java
  • Java_日志接口实现

    日志的接口实现:改用slf4j实现日志功能

    为什么要使用slf4j,而不是用log4j或者其他日志框架?

    因为slf4j只是规定了一堆实现了日志的接口,并不关心日志怎么实现,这样就可以让项目脱离对日志框架的依赖。

    1.下载slf4j.jar包:https://mvnrepository.com/search?q=slf4j,里面包含两个包:slf4j-api.jiar、slf4j-log4j.jar

    2.在项目文件夹下新建lib文件夹,将下载好的两个包放入文件夹lib中

    3在project structure栏目下的Modules栏的的右侧“+”号中选中lib中添加的两个包,再在project structure下的problems中点击[fix]

    4.在src文件下新建log4j.properties,将下面配置文件复制在文件中

    # priority  :debug<info<warn<error
    #you cannot specify every priority with different file for log4j
    log4j.rootLogger=debug,stdout,info,debug,warn,error

    #console
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern= [%d{yyyy-MM-dd HH:mm:ss a}]:%p %l%m%n
    #info log
    log4j.logger.info=info
    log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.info.DatePattern='_'yyyy-MM-dd'.log'
    log4j.appender.info.File=./src/com/lanou/log/info.log
    log4j.appender.info.Append=true
    log4j.appender.info.Threshold=INFO
    log4j.appender.info.layout=org.apache.log4j.PatternLayout
    log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n
    #debug log
    log4j.logger.debug=debug
    log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.debug.DatePattern='_'yyyy-MM-dd'.log'
    log4j.appender.debug.File=./src/com/lanou/log/debug.log
    log4j.appender.debug.Append=true
    log4j.appender.debug.Threshold=DEBUG
    log4j.appender.debug.layout=org.apache.log4j.PatternLayout
    log4j.appender.debug.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n
    #warn log
    log4j.logger.warn=warn
    log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.warn.DatePattern='_'yyyy-MM-dd'.log'
    log4j.appender.warn.File=./src/com/lanou/log/warn.log
    log4j.appender.warn.Append=true
    log4j.appender.warn.Threshold=WARN
    log4j.appender.warn.layout=org.apache.log4j.PatternLayout
    log4j.appender.warn.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n
    #error
    log4j.logger.error=error
    log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.error.DatePattern='_'yyyy-MM-dd'.log'
    log4j.appender.error.File = ./src/com/lanou/log/error.log
    log4j.appender.error.Append = true
    log4j.appender.error.Threshold = ERROR
    log4j.appender.error.layout = org.apache.log4j.PatternLayout
    log4j.appender.error.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n

    完成日志框架接口来实现

    定义日志属性:

    final static Logger LOGGER = LoggerFactory.getLogger(ThirdClass.class);

    slf4j支持同行记录
    String name = "张三";
    int age = 12;
    String address="大连";
    String birthday="1999-3-4";
    String id="323456754";


    LOGGER.info("我叫:{},今年:{}岁,家住在:{},生日是:{},身份证号是:{}",
    name,age,address,birthday,id);
     
  • 相关阅读:
    Linux 内核编码风格
    三种批量插入数据的方法
    一次清除SQL SERVER错误日志的体会!
    打开潘多拉的魔盒——软件设计过程(1)——序
    bloom特效
    wcf基础知识之端口共享 portSharing
    高质量代码(一)
    Luence使用IKAnalyzer分词实例 及 IKAnalyzer扩展词库
    通过什么来衡量C# Socket服务的效能
    iOS开发进阶之静态链接库
  • 原文地址:https://www.cnblogs.com/zhouchangyang/p/10589162.html
Copyright © 2011-2022 走看看