题记部分
001 || 日志工厂
如果一个数据库操作出现了异常,需要通过日志定位问题。
002 || Log4j
Log4j是Apache的一个开源项目,通过使用Log4j,可以控制日志信息输送的目的地是控制台、文件、GUI组件。
我们也可以控制每一条日志的输出格式;
通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。
通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
step1:先导入log4j的包
<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version>
</dependency>
step2:log4j.properties
### 全局配置 #### 设置根日志记录器的级别和输出目标
# 日志级别从低到高依次为: ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF
# 这里设置为 DEBUG 级别,意味着会输出 DEBUG 及以上级别的日志
# 输出目标为 console 和 file,即日志会同时输出到控制台和文件
log4j.rootLogger=DEBUG, console, file### 控制台输出配置 #### 定义一个名为 console 的输出器,使用 ConsoleAppender 类,将日志输出到控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender# 设置控制台输出的目标,这里是 System.out,也可以设置为 System.err
log4j.appender.console.Target=System.out# 设置控制台输出的布局,使用 PatternLayout 类,可以自定义日志的输出格式
log4j.appender.console.layout=org.apache.log4j.PatternLayout# 定义日志输出的格式
# %d{yyyy-MM-dd HH:mm:ss}: 日期时间,格式为年-月-日 时:分:秒
# %-5p: 日志级别,左对齐,宽度为 5 个字符
# %c{1}: 日志记录器的名称,只显示最后一个部分
# %L: 日志输出所在的行号
# %m: 日志消息内容
# %n: 换行符
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n### 文件输出配置 #### 定义一个名为 file 的输出器,使用 RollingFileAppender 类,支持日志文件的滚动
log4j.appender.file=org.apache.log4j.RollingFileAppender# 设置日志文件的路径和名称
log4j.appender.file.File=logs/application.log# 设置日志文件的最大大小,达到该大小后会进行滚动
# 这里设置为 10MB,单位可以是 KB、MB、GB 等
log4j.appender.file.MaxFileSize=10MB# 设置日志文件的最大备份数量
# 当日志文件滚动时,最多保留 10 个备份文件
log4j.appender.file.MaxBackupIndex=10# 设置文件输出的布局,同样使用 PatternLayout 类
log4j.appender.file.layout=org.apache.log4j.PatternLayout# 定义文件输出的日志格式,与控制台输出格式相同
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n### 特定包或类的日志级别配置 #### 可以为特定的包或类单独设置日志级别
# 例如,将 com.example 包下的所有类的日志级别设置为 INFO
log4j.logger.com.example=INFO### 异步日志配置 #### 定义一个名为 async 的异步输出器,使用 AsyncAppender 类
log4j.appender.async=org.apache.log4j.AsyncAppender# 将之前定义的 file 输出器添加到异步输出器中
log4j.appender.async.appenderRef=file# 设置异步输出器的缓冲区大小,这里设置为 1024 个日志事件
log4j.appender.async.BufferSize=1024# 可以将 rootLogger 的输出目标改为异步输出器,实现异步日志记录
# log4j.rootLogger=DEBUG, console, async### 邮件输出配置 #### 定义一个名为 mail 的邮件输出器,使用 SMTPAppender 类
# log4j.appender.mail=org.apache.log4j.net.SMTPAppender# 设置邮件的发送者地址
# log4j.appender.mail.From=your_email@example.com# 设置邮件的接收者地址
# log4j.appender.mail.To=recipient_email@example.com# 设置邮件的主题
# log4j.appender.mail.Subject=Application Error Log# 设置 SMTP 服务器地址
# log4j.appender.mail.SMTPHost=smtp.example.com# 设置 SMTP 服务器端口
# log4j.appender.mail.SMTPPort=25# 设置邮件输出的布局
# log4j.appender.mail.layout=org.apache.log4j.PatternLayout
# log4j.appender.mail.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n# 设置触发邮件发送的日志级别,这里设置为 ERROR,即只有当出现 ERROR 级别的日志时才发送邮件
# log4j.appender.mail.Threshold=ERROR# 可以将 rootLogger 的输出目标添加邮件输出器,实现错误日志邮件通知
# log4j.rootLogger=DEBUG, console, file, mail
step3:配置log4j为日志的实现
<settings><setting name="logImpl" value="LOG4J"/>
</settings>
003 || 标题