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("日誌信息");
}
}

 

 

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