日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

日志-Log4J

發(fā)布時間:2025/3/15 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 日志-Log4J 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
日志:

程序中的日志可以用來記錄程序在運行的時候點點滴滴。并可以進行永久存儲

日志和輸出語句的區(qū)別:
輸出語句日志技術(shù)
取消日志需要修改代碼,靈活性比較差不需要修改代碼,靈活性比較好
輸出位置只能是控制臺可以將日志信息寫入到文件或者數(shù)據(jù)庫中
多線程和業(yè)務(wù)代碼處于一個線程中多線程方式記錄日志,不影響業(yè)務(wù)代碼的性能

Log4J作用:
  • 通過使用Log4j,可以控制日志信息輸送的目的地是控制臺、文件等位置
  • 可以控制每一條日志的輸出格式
  • 通過定義每一條日志信息的級別,能夠更加細致地控制日志的生成過程
  • 可以通過一個配置文件來靈活地進行配置,而不需要修改應(yīng)用的代碼
  • 日志核心技術(shù):

    Loggers(記錄器) 日志的級別

    • Loggers組件在此系統(tǒng)中常見的五個級別:DEBUG、INFO、WARN、ERROR 和 FATAL。
    • DEBUG:開發(fā)過程打印一些基本的信息
    • INFO:開發(fā)過程打印一些重要的信息
    • WARN:警告,可能會出現(xiàn)問題,給出一些提示
    • ERROR:發(fā)生錯誤,但是不影響程序繼續(xù)運行
    • FATAL:嚴(yán)重的錯誤,程序會被停止
    • DEBUG < INFO < WARN < ERROR < FATAL。
    • Log4j有一個規(guī)則:只輸出級別不低于設(shè)定級別的日志信息。對應(yīng)上面的級別
    • 比如配置文件定義了一個INFO級別的,那么 DEBUG的就不會被輸入,如果遇到輸出不了的問題,可以看看是不是配置的級別太高了

    配置文件:

    # Global logging configuration log4j.rootLogger=DEBUG, stdout # Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.ca.ImmediateFlush=true log4j.appender.ca.Target=System.er log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

    測試類:

    public class Demo05 {//使用log4j的api來獲取日志的對象//弊端:如果以后我們更換日志的實現(xiàn)類,那么下面的代碼就需要跟著改//不推薦使用// private static final Logger LOGGER = Logger.getLogger(Demo05.class);//使用slf4j里面的api來獲取日志的對象//好處:如果以后我們更換日志的實現(xiàn)類,那么下面的代碼不需要跟著修改//推薦使用private static final Logger LOGGER = LoggerFactory.getLogger(Demo05.class);public static void main(String[] args) {LOGGER.debug("debug級別的日志");LOGGER.info("info級別的日志");LOGGER.warn("warn級別的日志");LOGGER.error("error級別的日志");} }

    Appenders(輸出源)

    Appenders:日志要輸出的地方

    • 把日志輸出到不同的地方,如控制臺(Console)、文件(Files)等。
    • org.apache.log4j.ConsoleAppender(控制臺)
    • org.apache.log4j.FileAppender(文件)

    Layouts(布局) 日志輸出的格式

    常用的布局管理器:

    可以根據(jù)自己的喜好規(guī)定日志輸出的格式

    • org.apache.log4j.PatternLayout(可以靈活地指定布局模式)
    • org.apache.log4j.SimpleLayout(包含日志信息的級別和信息字符串)
    • org.apache.log4j.TTCCLayout(包含日志產(chǎn)生的時間、線程、類別等信息)
    配置文件:

    格式:

  • log4j.rootLogger=日志級別,appenderName1,appenderName2,…
  • 日志級別:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定義的級別。
    OFF:關(guān)閉所有日志
    ALL:展示所有日志
  • appenderName1 就是指定日志信息要輸出到哪里??梢酝瑫r指定多個輸出目的地,用逗號隔開。
    例如:log4j.rootLogger=INFO,ca,fa
  • ConsoleAppender(往控制臺輸出)常用的選項

  • ImmediateFlush=true:表示所有消息都會被立即輸出,設(shè)為false則不輸出,默認值是true。
  • Target=System.err 默認值是System.out。
    System.err是錯誤輸出流,打印的是紅色的
  • FileAppender(往文件輸出)常用的選項

    • ImmediateFlush=true:表示所有消息都會被立即輸出。設(shè)為false則不輸出,默認值是true
    • Append=false
      true表示將消息添加到指定文件中,原來的消息不覆蓋。
      false則將消息覆蓋指定的文件內(nèi)容,默認值是true。
    • File=D:/logs/logging.log4j: 指定消息輸出到logging.log4j文件中

    PatternLayout常用的選項

    • log4j.PatternLayout:可以靈活的指定布局模式,最常使用
    • log4j.SimpleLayout:包含日志信息的級別和信息字符串
    • log4j.TTCCLayout:包含日志產(chǎn)生的時間、線程、類別等信息

    ConversionPattern=%m%n設(shè)定以怎樣的格式顯示消息

    總結(jié)

    以上是生活随笔為你收集整理的日志-Log4J的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。