Log4jhtml
一個開源的、輕量級的、用於日誌管理的框架java
Log4j是Apache的一個開放源代碼項目,經過使用Log4j,能夠控制日誌信息輸送的目的地是控制檯、文件、GUI組件、甚至是套接口服務器、NT的事件記錄器等;也能夠控制每一條日誌的輸出格式;經過定義每一條日誌信息的級別,可以更加細緻地控制日誌的生成過程。這些能夠經過一個配置文件來靈活地進行配置,而不須要修改應用的代碼。數據庫
主要用來進行日誌記錄的管理,包括對日誌輸出的目的地,輸出的信息級別和輸出的格式等。apache
Log4j由三個重要的組件構成:服務器
日誌信息的優先級:用來指定這條日誌信息的重要程度;app
日誌信息的輸出目的地:指定了日誌將打印到控制檯仍是文件中;框架
日誌信息的輸出格式:控制了日誌信息的顯示內容;佈局
日誌級別(Logger):--->優先級spa
OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL開放源代碼
輸出源 (Appender): --->目的地
org.apache.log4j.ConsoleAppender(控制檯)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(天天產生一個日誌文件)
org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件)
org.apache.log4j.WriterAppender(將日誌信息以流格式發送到任意指定的地方)
org.apache.log4j.jdbc.JDBCAppender(把日誌用JDBC記錄到數據庫中)
佈局(Layout): ---> 輸出格式
org.apache.log4j.HTMLLayout(以HTML表格形式佈局),
org.apache.log4j.PatternLayout(能夠靈活地指定佈局模式),
org.apache.log4j.SimpleLayout(包含日誌信息的級別和信息字符串),
org.apache.log4j.TTCCLayout(包含日誌產生的時間、線程、類別等等信息)
Appender、Layout、Logger三者之間的關係
每一個Appender都要引用本身的Layout。
每一個Logger均可以指定一個級別,同時引用多個Appender;而一個Appender也同時能夠被多個Logger引用。
配置:
Log4j有兩種配置方式,一種是xml格式,一種是properties格式。
都是放置到 classpath下面。默認名稱分別是:log4j.xml和log4j.properties
配置示例-1
og4j.rootLogger=error,javass.Console,javass.File
log4j.appender.javass.Console=org.apache.log4j.ConsoleAppender
log4j.appender.javass.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.javass.Console.layout.ConversionPattern=%d{HH:mm:ss,SSS} %5p (%C{1}:%M) -%m%n
配置示例-2
log4j.appender.javass.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.javass.File.file=javass.log
log4j.appender.javass.File.DatePattern=.yyyy-MM-dd
log4j.appender.javass.File.layout=org.apache.log4j.PatternLayout
log4j.appender.javass.File.layout.ConversionPattern=%d{HH:mm:ss,SSS} %5p (%C{1}:%M) -%m%n
log4j.logger.cn.javass=debug