java日志详细配置

日志打印输出是系统不可或缺的一部分,log4j详细的配置如下:
一、引出日志架构需要的jar包,在pom.xml文件中加入以下代码
<!-- 日志jar包版本属性 -->
<properties>
<slf4j.version>1.7.7</slf4j.version>
<log4j.version>1.2.17</log4j.version>
</properties>
<!-- 日志文件管理包 log start -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- 日志文件管理包 log end -->
注意:这里是用的是slf4j架构,建议使用slf4j架构而不是呀log4j,原因如下
   slf4j支持使用占位符(place holder),降低String的消耗  
   re:logger.debug("println the name is: {} and age : {} ", name, age);
   降低堆内存(heap memory)消耗,re:当你的日志级别设置为ERROR,DEBUG或者INFO级别的字符串不会被新建;
二、在项目的根路径下创建jdbc.properties文件,jdbc.properties内容如下
#这是系统默认输出的级别
log4j.rootLogger=INFO, stdout, R


#输出到控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.stdout.encoding=UTF-8


#输出到日志文件
#按照文件大小输出
#log4j.appender.R=org.apache.log4j.RollingFileAppender
#每份文件2048K
#log4j.appender.R.MaxFileSize=2048KB
#系统最多保存100份
#log4j.appender.R.MaxBackupIndex=100


#一天一日志文件
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File = ../project_logs/warn.log
log4j.appender.R.Append = true
#日志文件只输出WARN级别以上的日志
log4j.appender.R.Threshold = WARN
#日志输出格式
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH\:mm\:ss}*%-4r[%t]%-5p*%c*%x*%m%n 
log4j.appender.R.encoding=UTF-8




#log4j的邮件发送appender
#log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
##发送邮件的门槛,仅当等于或高于ERROR(比如FATAL)时,邮件才被发送
#log4j.appender.MAIL.Threshold=ERROR
##缓存文件大小,日志达到20k时发送Email,但如果是ERROR或FATAL则立即发送  
#log4j.appender.MAIL.BufferSize=20480
##此处发送邮件的邮箱帐号
#[email protected]
##SMTP邮件发送服务器地址
#log4j.appender.MAIL.SMTPHost=smtp.exmail.qq.com
##SMTP发送认证的帐号名
#[email protected]
##SMTP发送认证帐号的密码
#log4j.appender.MAIL.SMTPPassword=passwr
##是否打印调试信息,如果选true,则会输出和SMTP之间的握手等详细信息
#log4j.appender.MAIL.SMTPDebug=true
##邮件主题
#log4j.appender.MAIL.Subject=DOC580-log4jError
##发送到什么邮箱,如果要发送给多个邮箱,则用逗号分隔; 
#[email protected]
#log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
#log4j.appender.MAIL.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss}*%-4r[%t]%-5p*%c*%x*%m%n




#hibernate运行级别设置
log4j.logger.org.hibernate=INFO
log4j.logger.org.hibernate.type=INFO
log4j.logger.org.hibernate.tool.hbm2ddl=INFO
log4j.logger.org.springframework=INFO
#mybatis运行级别设置
log4j.logger.com.mybatis=DEBUG  
log4j.logger.com.mybatis.common.jdbc.SimpleDataSource=DEBUG  
log4j.logger.com.mybatis.common.jdbc.ScriptRunner=DEBUG  
log4j.logger.com.mybatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG  
log4j.logger.java.sql.Connection=DEBUG  
log4j.logger.java.sql.Statement=DEBUG  
log4j.logger.java.sql.PreparedStatement=DEBUG


三、输入打印
public class Main {
private static final Logger logger=LoggerFactory.getLogger(Main.class);
public static void main(String[] args) {
logger.info("日志信息");
}
}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章