導航:首頁 > 版本升級 > log4j自定義輸出文件

log4j自定義輸出文件

發布時間:2023-07-21 04:47:21

❶ log4j2怎麼輸出日誌到文件

、前提條件 系統必須使用LOG4J進行志管理否則效 系統必須包含mons-logging-xxx.jarlog4j-xxx.jar兩JAR包XXX版本號 二、操作步驟 1、創建志表 要志持久化必須資料庫創建張用存儲志信息表表內欄位志 主要屬性包括:操作類執行列印間志級別志內容 CREATE TABLE RESLOG (LOGID VARCHAR2(20) NOT NULL, CLASS VARCHAR2(200), METHOD VARCHAR2(100), CREATETIME DATE, LOGLEVEL VARCHAR2(50), MSG VARCHAR2(4000)) 存儲類類全部路徑所CLASS欄位度需要比較 2、志管理配置 LOG4J主要兩種配置文件.properties.xmlproperties文件基礎講 述關於XML文件配置相信家看完面介紹能輕松完 通LOG4J.PROPERTIES文件第行: log4j.rootLogger= XXX句控制志輸想吧志輸資料庫 則需要XXX添加DBlog4j.rootLogger=INFO,stdout,Platform,db面 句志級別INFO信息輸STDOUT,PLATFORMDB (DATABASE) 配置信息LOG4J知道用戶想信息存入資料庫接我要 配置資料庫相關信息(包括緩存資料庫連接信息執行SQL)配置信息: ###JDBCAppender log4j.appender.db = org.apache.log4j.jdbc.JDBCAppender //配置選擇使用JDBCAppender志信息存儲資料庫要做其操作自寫類繼承JDBCAppenderOK log4j.appender.db.BufferSize=1 //配置告訴LOG4J條志信息才存入資料庫我1,說條查條顯產環境影響系統性能 log4j.appender.db.driver=oracle.jdbc.driver.OracleDriver //配置告訴LOG4J做資料庫存儲所用驅 log4j.appender.db.URL=jdbc:oracle:thin:@:: //配置資料庫連接URL用說都知道 log4j.appender.db.user=XXX log4j.appender.db.password=XXX //面兩資料庫連接用戶名密碼 log4j.appender.db.sql=insert into RESLOG (LogId,Class,Method,createTime,LogLevel,MSG) values (SQ_RESLOG_LOGID.Nextval,'%C','%M', to_date('%d{yyyy-MM-dd HH:mm:ss}','yyyy-MM-dd HH24:mi:ss'),'%p','%m') //配置告訴LOG4J吧志存儲資料庫用SQL語句SQ_RESLOG_LOGID.Nextval我建SEQUENCE;『%C』志CLASS;『%M』列印志執行類;『%d』列印間支持格式化;『%P』志級別包括INFO、DEBUG、ERROR等;『%m』MSG志內容注意參數區寫 log4j.appender.db.layout=org.apache.log4j.PatternLayout 通面配置現再啟服務LOG4J自原存儲.LOG文件信息同存儲資料庫

❷ 用java 代碼實現log4j的日誌輸出功能

寫一個log4j的properties文件,再在web.xml裡面配置一下就ok了,你參考下吧
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d]-%-5p %t (%C.%M:%L) | %m%n

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=e:/Logs/PB/root.log
log4j.appender.file.MaxFileSize=5000KB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d]-%-5p %t | %m%n

log4j.logger.java.sql = DEBUG,ibatis
log4j.additivity.java.sql=false
log4j.logger.java.sql.Connection = DEBUG
log4j.logger.java.sql.Statement = DEBUG
log4j.logger.java.sql.PreparedStatement = DEBUG
log4j.logger.java.sql.ResultSet = DEBUG

log4j.logger.com.ibatis = DEBUG,ibatis
log4j.additivity.com.ibatis=false
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = DEBUG
log4j.logger.com.ibatis.sqlmap.engine.cache.CacheModel=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientImpl=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.builder.xml.SqlMapParser=DEBUG
log4j.logger.com.ibatis.common.util.StopWatch=DEBUG

log4j.appender.ibatis=org.apache.log4j.RollingFileAppender
log4j.appender.ibatis.File=e:/Logs/PB/ibatis.log
log4j.appender.ibatis.MaxFileSize=5000KB
log4j.appender.ibatis.MaxBackupIndex=5
log4j.appender.ibatis.Threshold=DEBUG
log4j.appender.ibatis.layout=org.apache.log4j.PatternLayout
log4j.appender.ibatis.layout.ConversionPattern=[%d]%m%n

log4j.rootLogger=DEBUG,stdout,file
log4j.logger.org.springframework=INFO
log4j.logger.org.displaytag=INFO
log4j.logger.freemarker=INFO
log4j.logger.com.opensymphony.xwork2=INFO
log4j.logger.com.pracbiz=DEBUG

❸ 在做java web開發的時候 怎麼讓log4j日誌輸出 到文件里

配置文件:
log4j.rootLogger = DEBUG,fileAppender
log4j.appender.fileAppender = org.apache.log4j.FileAppender
log4J.appedner.fileAppender.File = mylog.log

FileAppender 選項
Threshold=WARN:指定日誌消息的輸出最低層次。
ImmediateFlush=true:默認值是true,意謂著所有的消息都會被立即輸出。
File=mylog.log:指定消息輸出到mylog.log文件。
Append=false:默認值是true,即將消息增加到指定文件中,false指將消息覆蓋指定的文件內容。

❹ 如何使用log4j輸出單個級別的log到指定文件

這種情況下,就需要debug、info、warn、error分別進行配置了。之後通過priority屬性控制日誌實際輸出級別就可以。

<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPElog4j:configurationPUBLIC"-//LOGGER""log4j.dtd">
<log4j:configurationxmlns:log4j="http://jakarta.apache.org/log4j/">
<!--Appenders-->
<appendername="console"class="org.apache.log4j.ConsoleAppender">
<paramname="Target"value="System.out"/>
<layoutclass="org.apache.log4j.PatternLayout">
<paramname="ConversionPattern"value="%-d{yyyy-MM-ddHH:mm:ss,SSS}||||%p||||%m%n"/>
</layout>
</appender>
<!--輸出debug日誌-->
<appendername="debug.log"class="org.apache.log4j.DailyRollingFileAppender">
<paramname="File"value="d:/tmrpt/log/debug.log"/>
<paramname="Append"value="true"/>
<paramname="encoding"value="UTF-8"/>
<paramname="DatePattern"value="yyyyMMddHH"/>
<layoutclass="org.apache.log4j.PatternLayout">
<paramname="ConversionPattern"value="%-d{yyyy-MM-ddHH:mm:ss,SSS}[%p][%c]-%m%n"/>
</layout>
<filterclass="org.apache.log4j.varia.LevelRangeFilter">
<paramname="levelMin"value="debug"/>
<paramname="levelMax"value="debug"/>
<paramname="AcceptOnMatch"value="true"/>
</filter>
</appender>
<!--輸出info日誌-->
<appendername="info.log"class="org.apache.log4j.DailyRollingFileAppender">
<paramname="File"value="d:/tmrpt/log/info.log"/>
<paramname="Append"value="true"/>
<paramname="encoding"value="UTF-8"/>
<paramname="DatePattern"value="yyyyMMddHH"/>
<layoutclass="org.apache.log4j.PatternLayout">
<paramname="ConversionPattern"value="%-d{yyyy-MM-ddHH:mm:ss,SSS}[%p][%c]-%m%n"/>
</layout>
<filterclass="org.apache.log4j.varia.LevelRangeFilter">
<paramname="levelMin"value="info"/>
<paramname="levelMax"value="info"/>
<paramname="AcceptOnMatch"value="true"/>
</filter>
</appender>

<!--輸出warn日誌-->
<appendername="warn.log"class="org.apache.log4j.DailyRollingFileAppender">
<paramname="File"value="d:/tmrpt/log/warn.log"/>
<paramname="Append"value="true"/>
<paramname="encoding"value="UTF-8"/>
<paramname="DatePattern"value="yyyyMMddHH"/>
<layoutclass="org.apache.log4j.PatternLayout">
<paramname="ConversionPattern"value="%-d{yyyy-MM-ddHH:mm:ss,SSS}[%p][%c]-%m%n"/>
</layout>
<filterclass="org.apache.log4j.varia.LevelRangeFilter">
<paramname="levelMin"value="warn"/>
<paramname="levelMax"value="warn"/>
<paramname="AcceptOnMatch"value="true"/>
</filter>
</appender>

<!--輸出error日誌-->
<appendername="error.log"class="org.apache.log4j.DailyRollingFileAppender">
<paramname="File"value="d:/tmrpt/log/error.log"/>
<paramname="Append"value="true"/>
<paramname="encoding"value="UTF-8"/>
<paramname="DatePattern"value="yyyyMMddHH"/>
<layoutclass="org.apache.log4j.PatternLayout">
<paramname="ConversionPattern"value="%-d{yyyy-MM-ddHH:mm:ss,SSS}[%p][%c]-%m%n"/>
</layout>
<filterclass="org.apache.log4j.varia.LevelRangeFilter">
<paramname="levelMin"value="error"/>
<paramname="levelMax"value="error"/>
<paramname="AcceptOnMatch"value="true"/>
</filter>
</appender>

<!--RootLogger-->
<root>
<!--priority配置輸出日誌級別-->
<priorityvalue="info"/>
<appender-refref="console"></appender-ref>
<appender-refref="info.log"/>
<appender-refref="debug.log"/>
<appender-refref="warn.log"/>
<appender-refref="error.log"/>
</root>
</log4j:configuration>

❺ log4j怎麼配置日誌輸出路徑

以DailyRollingFileAppender 為例:假設每天一個日誌文件
有以下設置:

log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=app.log
log4j.appender.A1.DatePattern='.'yyyy-MM-dd
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d %5p - %c -%-4r [%t] - %m%n

此時生成日誌文件將位於tomcat的bin目錄下,如要將日誌文件保存在 :根目錄/web-info/logs/下,個人有以下4種解決方案:
1 絕對路徑
log4j.appender.A1.File=D:\apache-tomcat-6.0.18/webapps/項目/WEB-INF/logs/app.log
但這種寫法靈活性很差

以下3中使用相同的設置原理: jvm的環境變數
2:spring的Log4jConfigListener
通過以下配置:
< context-param>
<param-name>webAppRootKey</param-name>
<param-value>webApp.root</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
< listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
...
log4j.appender.logfile.File=${webApp.root}/WEB-INF/logs/app.log
...
來解決
2:使用已有jvm變數:
例如:
log4j.appender.logfile.File=${user.home}/logs/app.log
日誌將位於:例如windows:C:\Documents and Settings\joe\logs\app.log

3 自己設置目錄,也就是在項目啟動時通過System.setProperty設置
通過實現ServletContextListener來解決:例如

public class log4jlistener implements ServletContextListener {
public static final String log4jdirkey = "log4jdir";
public void contextDestroyed(ServletContextEvent servletcontextevent) {
System.getProperties().remove(log4jdirkey);
}
public void contextInitialized(ServletContextEvent servletcontextevent) {
String log4jdir = servletcontextevent.getServletContext().getRealPath("/");
//System.out.println("log4jdir:"+log4jdir);
System.setProperty(log4jdirkey, log4jdir);
}
}
web.xml配置:

<listener>
<listener-class>com.log4j.log4jlistener</listener-class>
</listener>

log4j.prtperties 配置:
log4j.appender.A1.File=${log4jdir}/WEB-INF/logs/app1.log
來解決。

❻ java工程中如何使用log4j輸出指定路徑日誌文件,是java工程,不是web工程,謝謝

此文檔放在項目編譯文件.class相同的位置
### set log levels ###log4j.rootLogger = debug , stdout , D### 輸出到控制台 ###log4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout = org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n### 輸出到日誌文件 ###log4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = logs/log.loglog4j.appender.D.Append = truelog4j.appender.D.Threshold = DEBUGlog4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n### 保存異常信息到單獨文件 ###log4j.appender.D = org.apache.log4j.DailyRollingFileAppenderlog4j.appender.D.File = logs/error.loglog4j.appender.D.Append = truelog4j.appender.D.Threshold = ERRORlog4j.appender.D.layout = org.apache.log4j.PatternLayoutlog4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
配置獲取方法:
PropertyConfigurator.configure( "D:\\Project Files\\myeclipse\\commontest\\bin\\log\\log4j\\log4j.properties" );
Logger log=Logger. getLogger(TestLog4j.class);
log.warn( "嘿嘿");
log.debug( "嗚嗚");
log.error( "錯啦");

❼ Java中怎麼將log4j日誌文件導出為一個txt的文件

log4j.properties的基本配置如下

### set log levels ###
log4j.rootLogger = debug , D , E

### 輸出到日誌文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = logs/log.log //保存成你想要的文件txt

log4j.appender.D.DatePattern = '.'yyyy-MM-dd
log4j.appender.D.Append = true
log4j.appender.D.Threshold = INFO
## 輸出DEBUG級別以上的日誌
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

### 保存異常信息到單獨文件 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
## 只輸出ERROR級別以上的日誌!!!
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

❽ log4j怎麼把某個類中的日誌單獨輸出到一個文件

1、輸出兩次是因為你的mylog配置有誤:log4j.appender.myLog.Target=System.out,你應該是要改成一個輸出到一個文件吧,控制台已經有輸出了。 2、類名問題: private static Logger log = Logger.getLogger("myLog"); 這種寫法也可以

閱讀全文

與log4j自定義輸出文件相關的資料

熱點內容
蘋果硬碟數據恢復要多少錢 瀏覽:394
js綁定下拉框資料庫數據 瀏覽:448
cad文件怎麼復制到另一個文件里邊 瀏覽:858
dxp鑽孔文件 瀏覽:631
iphone大悅城換機 瀏覽:538
找結婚對象上什麼網站 瀏覽:974
學生信息管理系統程序設計報告 瀏覽:640
微信文件怎麼刪除怎麼恢復 瀏覽:407
編程程序怎麼復制 瀏覽:467
文件更改 瀏覽:327
冰點文件路徑 瀏覽:730
軟體一點開文件就關閉 瀏覽:88
網路如何把人捧紅 瀏覽:961
軟體傳輸文件 瀏覽:184
密碼記錄器ios 瀏覽:412
兩個電腦數據怎麼一樣 瀏覽:829
順豐有什麼買東西的app 瀏覽:377
數位板word 瀏覽:939
win7寬頻連接出現多重網路 瀏覽:268
更改程序圖標c語言 瀏覽:629

友情鏈接