前言:项目中log实在是太关键了,可以做大数据采集也可以监控系统的一些潜在的bug。重要性不明觉厉。
org.apache.log4j.Level类提供以下级别,但也可以通过Level类的子类自定义级别。
Level | 描述 |
---|---|
ALL | 各级包括自定义级别 |
DEBUG | 指定细粒度信息事件是最有用的应用程序调试 |
ERROR | 错误事件可能仍然允许应用程序继续运行 |
FATAL | 指定非常严重的错误事件,这可能导致应用程序中止 |
INFO | 指定能够突出在粗粒度级别的应用程序运行情况的信息的消息 |
OFF | 这是最高等级,为了关闭日志记录 |
TRACE | 指定细粒度比DEBUG更低的信息事件 |
WARN | 指定具有潜在危害的情况 |
maven依赖
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.5.0-b01</version>
</dependency>
配置log4j.properties
#Lo4j
#############################
log4j.rootLogger=INFO,Console,File,Mail
log4j.logger.org.springframework=WARN
log4j.logger.org.hibernate=WARN
#Console
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} %-5p %c - %m%n
#File
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=C:/log/log.log
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5r %-5p %C - %M(line:%L) %m%n
log4j.appender.File.Encoding=UTF-8
# Mail
#使用Log4J SMTPAppender
log4j.appender.Mail=org.apache.log4j.net.SMTPAppender
#只发送日志级别大于等于ERROR的日志
log4j.appender.Mail.Threshold=ERROR
#缓存文件大小至1000KB时才发送
log4j.appender.Mail.BufferSize=0
#发送日志格式
log4j.appender.Mail.layout=org.apache.log4j.PatternLayout
log4j.appender.Mail.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p [%t:%F:%L] - <%m>%n
#发送邮件的邮箱帐号,需要开通SMTP服务
log4j.appender.Mail.From=wangnian4307@163.com
#SMTP邮件发送服务器地址
log4j.appender.Mail.SMTPHost=smtp.163.com
#SMTP发送认证的帐号名,qq为全名
log4j.appender.Mail.SMTPUsername=wangnian4307@163.com
#SMTP发送认证帐号的密码
log4j.appender.Mail.SMTPPassword=
#是否打印调试信息,如果选true,则会输出和SMTP之间的握手等详细信息
log4j.appender.Mail.SMTPDebug=false
#邮件主题
log4j.appender.Mail.Subject=og4j项目报错
#接收方邮箱,如果要发送给多个邮箱,则用逗号分隔;
log4j.appender.Mail.To=2251181679@qq.com
#抄送给其他人
#log4j.appender.Mail.Bcc=another@email.com
test
public static void main(String[] args) {
logger.info("哈哈1");
logger.debug("哈哈2");
logger.warn("哈哈1");
logger.error("哈哈1");
}