zoukankan      html  css  js  c++  java
  • slf4j的使用

      1.导入jar包

    <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.2</version>
    </dependency>
    <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.5</version>
    </dependency>
    <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
    </dependency>

      2.生成配置文件 srcmain esourceslog4j.propertes

    log4j.rootLogger=info,ROLLING_FILE  
    log4j.appender.ROLLING_FILE = org.apache.log4j.ConsoleAppender
    log4j.appender.ROLLING_FILE.encoding=utf-8 (* utf-8后面不能有空格,utf为小写)
    log4j.appender.ROLLING_FILE.File = stock.log
    log4j.appender.ROLLING_FILE.Append = true
    log4j.appender.ROLLING_FILE.MaxFileSize= 20MB
    log4j.appender.ROLLING_FILE.MaxBackupIndex= 2
    log4j.appender.ROLLING_FILE.layout = org.apache.log4j.PatternLayout
    log4j.appender.ROLLING_FILE.layout.ConversionPattern=[log] %d - %c - %-4r [%t] %-5p %c %x - %m%n

    补充:文件格式为utf-8 (idea右下角显示)

      File ->settings... -> File Encoding ->IDE Encoding (UTF-8) Project Encoding (UTF-8)

      File -> other settings -> default Encoding ->  File Encoding ->IDE Encoding (UTF-8) Project Encoding (UTF-8)

      3.在类中使用

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    private Logger logger = LoggerFactory.getLogger(xxx.class);
    logger.info("write log message")
    logger.info(e.getMessage());


    -------------------------------------
    配置文件说明:
    log4j.rootLogger=info,ROLLING_FILE
    # 打印等级 Info ,指定名称ROLLING_FILE
    log4j.appender.ROLLING_FILE = org.apache.log4j.ConsoleAppender
    # 输出到控制台
    log4j.appender.ROLLING_FILE.encoding=utf-8
    # 编码格式为utf-8
    log4j.appender.ROLLING_FILE.File = stock.log
    # 指定文件打印位置
    log4j.appender.ROLLING_FILE.Append = true
    #true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true
    log4j.appender.ROLLING_FILE.MaxFileSize= 20MB
    # 文件最大到20MB滚动一次
    log4j.appender.ROLLING_FILE.MaxBackupIndex= 2
    # 文件最多可滚动3次
    log4j.appender.ROLLING_FILE.layout = org.apache.log4j.PatternLayout
    # 可以灵活地指定布局模式
    log4j.appender.ROLLING_FILE.layout.ConversionPattern=[log] %d - %c - %-4r [%t] %-5p %c %x - %m%n

    # %d: 输出日志时间点的日期或时间,默认格式为ISO8601
    # %c: 输出日志信息所属的类目,通常就是所在类的全名
    # %r: 输出自应用启动到输出该log信息耗费的毫秒数
    # %t: 输出产生该日志事件的线程名
    # %p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,
    # %x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
    # %m: 输出代码中指定的消息,产生的日志具体信息
    # %n 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行

    # %F: 输出日志消息产生时所在的文件名称
    # %L: 输出代码中的行号

    -----------------------------------------------------------------
    首行:等级可分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF则不打出任何信息,如果配置为INFO这样只显示INFO, WARN, ERROR的log信息,而DEBUG信息不会被显示。

    1. 定义名为stdout的输出端是哪种类型,

    org.apache.log4j.ConsoleAppender(控制台),

    org.apache.log4j.FileAppender(文件),

    org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),

    org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)

    org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

    2. 定义名为stdout的输出端的layout是哪种类型,

    org.apache.log4j.HTMLLayout(以HTML表格形式布局),

    org.apache.log4j.PatternLayout(可以灵活地指定布局模式),

    org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),

    org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

  • 相关阅读:
    forEach 获取下标信息
    js select选择框回显 当value是汉字时
    java 大写字符串字符串转成小写驼峰格式
    关于too many open files解决方案
    mysql 判断区间是否存在交集和并集
    http 请求拼接多个请求参数
    Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project jic-member: There are test failures.
    用dubbo时遇到的一个序列化的坑 xxxServiceImpl must implement java.io.Serializable
    django的分页器
    Django-form组件和ModelForm组件
  • 原文地址:https://www.cnblogs.com/blue-tadpole/p/7051073.html
Copyright © 2011-2022 走看看