• log4j的正确使用姿势


    最近清明节,朋友公司的日志爆了,说控制台打得太满了,出了问题,早上4点多被喊去公司修改代码,他们把所有的日志全部在控制台打印了,结果就。。。我说日志这么做不可取啊,你们打印出来的内容太多啦,控制台没必要打印这么多,log4j配置一下每天生成即可,这样也方便查看查错

    其实我们也是简单应用一下而已,大致配置如下

    log4j.rootLogger=INFO,console
    # TODO 发布到阿里云记得添加,另外控制台不输出
    #,dailyFile
    
    log4j.logger.org.mybatis = DEBUG
    
    log4j.appender.console=org.apache.log4j.ConsoleAppender
    log4j.appender.console.layout=org.apache.log4j.PatternLayout
    log4j.appender.console.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n
    
    # 定期滚动日志文件,每天都会生成日志
    log4j.appender.dailyFile=org.apache.log4j.DailyRollingFileAppender
    # TODO 本地日志地址,正式环境请务必切换为阿里云地址
    log4j.appender.dailyFile.File=C:/logs/log.log4j
    #log4j.appender.dailyFile.File=/usr/local/logs/log.log4j
    log4j.appender.dailyFile.DatePattern='.'yyyy-MM-dd
    log4j.appender.dailyFile.layout=org.apache.log4j.PatternLayout
    log4j.appender.dailyFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p] %m%n
    
    # 订单服务 单独日志记录
    ...
    
    # 支付服务 单独日志 配置
    ...

    需要注意的是日志地址在不同的环境下需要切换,在linux上的地址是不同的

    而针对细化到类或者包下的日志我们只对订单以及支付做了单独的配置,生成的地址也不同,这样更方便进行排错

    另外日志的保存方式有这几种,可以根据所需要的去进行配置

    org.apache.log4j.ConsoleAppender(日志在控制台输出)

    org.apache.log4j.FileAppender(文件中输出)

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

    org.apache.log4j.RollingFileAppender(日志文件输出达到指定大小就会另外产生一个新的文件)

    org.apache.log4j.WriterAppender(流形式输出到指定路径)

    ​另外对于支付流水可以使用日志输出到数据库,而我们不需要手动进行保存。若在大并发的时候可以选择nosql数据库,比如mongodb,这样的做法也是不错的;而对于某些报表类功能也可以使用日志的做法,这样统计也十分方便。这些日后抽空再说一下吧~

  • 相关阅读:
    mysql data type <----> java data type (数值)
    line number is important in Exceptions.
    dom4j 使用原生xpath 处理带命名空间的文档
    dom4j 通过 org.dom4j.XPath 设置命名空间来支持 带namespace 的 xpath
    dom4j 创建一个带命名空间的pom.xml 文件
    xml to xsd ; xsd to xml
    sax 动态切换 抓取感兴趣的内容(把element当做documnet 处理)
    d3.js <一>
    python学习进阶一
    Java *字格
  • 原文地址:https://www.cnblogs.com/leechenxiang/p/6666565.html
Copyright © 2020-2023  润新知