導航:首頁 > 文件教程 > log4j輸出文件位置

log4j輸出文件位置

發布時間:2022-07-06 17:00:35

① log4j centos 位置

log4j centos 位置:entos 中的主要log文件都存儲在 /var/log/ 目錄下面: 1. apache log的位置 a. 默認情況下是:/var/log/httpd/ 目錄下面,主要查看錯誤是 error_log b

② 如何查找log4j載入配置文件的位置

自動載入配置文件:
(1)如果採用log4j輸出日誌,要對log4j載入配置文件的過程有所了解。log4j啟動時,默認會尋找source folder下的log4j.xml配置文件,若沒有,會尋找log4j.properties文件。然後載入配置。配置文件放置位置正確,不用在程序中手動載入log4j配置文件。如果將配置文件放到了config文件夾下,在build Path中設置下就好了。

若要手動載入配置文件如下:
(1)PropertyConfigurator.configure("log4j.properties") 默認讀取的是項目根目錄的路徑。此時的log4j.properties要放在項目目錄下。

③ log4j,選擇日誌輸出位置

多定義幾個不就ok了?
log4j.rootLogger=info,CONSOLE,FILEOUT
log4j.addivity.org.apache=true

# CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
#log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH\:mm\:ss} \:%m%n

#
# FILEOUT
log4j.appender.FILEOUT=org.apache.log4j.RollingFileAppender
log4j.appender.FILEOUT.File=${catalina.home}\\file.log
log4j.appender.fileout.MaxFileSize=100000KB
# default is true,append to the file; if false, the replace the log file whenever restart system
log4j.appender.FILEOUT.Append=true
#RollingFileAppender沒有DatePattern這個屬性
log4j.appender.FILEOUT.layout=org.apache.log4j.PatternLayout
#log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
log4j.appender.FILEOUT.layout.ConversionPattern=[%-5p]_%d{yyyy-MM-dd HH:mm:ss} :%m%n

④ LOG4J 的日誌寫到了哪裡

va代碼
# log4j configuration file
##################################################################
# Pattern to output the caller's file name and line number.
##################################################################
#等級為INFO的日誌信息輸出到ota,ota的定義在下面的代碼,可以任意起名。#
#等級可分為OFF、 FATAL、ERROR、WARN、INFO、DEBUG、ALL,#
#如果配置OFF則不打出任何信息,#
#如果配置為INFO這樣只顯示INFO, WARN, ERROR的log信息,而DEBUG信息不會被顯示,具體講解可參照第三部分定義配置文件中的logger。#
log4j.rootLogger=INFO,CONSOLE,fileout
log4j.logger.fileout=INFO,fileout
log4j.logger.OTA=INFO,OTA
#配置輸出的類型#
#org.apache.log4j.ConsoleAppender(控制台),#
#org.apache.log4j.FileAppender(文件),#
#org.apache.log4j.DailyRollingFileAppender(每天產生一個日誌文件),#
#org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件)#
#org.apache.log4j.WriterAppender(將日誌信息以流格式發送到任意指定的地方)#
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

#此句為定義名為stdout的輸出端的layout是哪種類型,#
#org.apache.log4j.HTMLLayout(以HTML表格形式布局),#
#org.apache.log4j.PatternLayout(可以靈活地指定布局模式),#
#org.apache.log4j.SimpleLayout(包含日誌信息的級別和信息字元串),#
#org.apache.log4j.TTCCLayout(包含日誌產生的時間、線程、類別等等信息)#
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

#pattern布局就要指定的列印信息的具體格式ConversionPattern,列印參數如下:#
#%m 輸出代碼中指定的消息#
#Ip 輸出優先順序,即DEBUG,INFO,WARN,ERROR,FATAL#
#%r 輸出自應用啟動到輸出該log信息耗費的毫秒數#
#%c 輸出所屬的類目,通常就是所在類的全名#
#%t 輸出產生該日誌事件的線程名#
#%n 輸出一個回車換行符,Windows平台為「rn」,Unix平台為「n」#
#%d 輸出日誌時間點的日期或時間,默認格式為ISO8601,也可以在其後指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},輸出類似:2002年10月18日 22:10:28,921#
#%l 輸出日誌事件的發生位置,包括類目名、發生的線程,以及在代碼中的行數。$
#[OTC]是log信息的開頭,可以為任意字元,一般為項目簡稱。#
#輸出的信息#
#[OTC] DEBUG [main] AbstractBeanFactory.getBean(189) | Returning cached instance of singleton bean 'MyAutoProxy'#
#
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n

#---- save to log file
log4j.appender.fileout=org.apache.log4j.RollingFileAppender
log4j.appender.fileout.File=e:/logs/run.log
log4j.appender.fileout.encoding=UTF-8
log4j.appender.fileout.Threshold=DEBUG
log4j.appender.fileout.MaxFileSize=4MB
log4j.appender.fileout.MaxBackupIndex=10
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.ConversionPattern=%-5p [%d] %C - %m%n

#---- save to log file
log4j.appender.OTA=org.apache.log4j.RollingFileAppender
log4j.appender.OTA.File=e:/logs/run2.log
log4j.appender.OTA.encoding=UTF-8
log4j.appender.OTA.Threshold=DEBUG
log4j.appender.OTA.MaxFileSize=4MB
log4j.appender.OTA.MaxBackupIndex=10
log4j.appender.OTA.layout=org.apache.log4j.PatternLayout
log4j.appender.OTA.layout.ConversionPattern=%-5p [%d] %C - %m%n

log4j.logger.com.ibatis = DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner = DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = DEBUG
log4j.logger.java.sql.Connection = DEBUG
log4j.logger.java.sql.Statement = DEBUG
log4j.logger.java.sql.PreparedStatement = DEBUG, fileout
log4j.logger.java.sql.ResultSet = DEBUG

Java代碼
//它會寫到哪裡?
//經測試寫到了console 和run.log
Logger logger = Logger.getLogger(getClass);
//經測試寫到了console 和run.log
Logger rootLogger = Logger.getRootLogger();
//經測試寫到了console 和run.log run2.log
Logger fileout = Logger.getLogger("fileout");
經測試寫到了console 和run.log run2.log
Logger ota = Logger.getLogger("OTA");
logger.info("CLASS");
rootLogger.info("ROOT");
fileout.info("FILEOUT");
ota.info("OTA");

總結:
其中
Logger.getLogger(String name);
name即為appender的name
log4j.appender.fileout即為fileout

Logger.getLogger(Class clazz);
即獲取class.name後調用
Logger.getLogger(String name);

root為所有日誌的根
所以通過輸出結果來看,所有自定義的appender都是繼承自root的
它會
1、先輸出到appender定義的設備中(console file 或其他),如果name沒有對應的appender則不會輸出任何內容
2、再輸出到root

Class 和String的差別還是比較大的。

⑤ Log4J配置文件里的日誌文件路徑問題!!!急~

給你一個我們的項目文件自己看吧。。
希望老闆別發現。。。
# Global logging configuration

log4j.rootLogger=INFO,file

# SqlMap logging configuration...
log4j.logger.com.ibatis=INFO
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=INFO
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=INFO
log4j.logger.java.sql.Connection=INFO
log4j.logger.java.sql.Statement=INFO
log4j.logger.java.sql.PreparedStatement=INFO
log4j.logger.java.sql.ResultSet=INFO

# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold=DEBUG
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.stdout.Target=System.out
##########################
#log4j.appender.stdout.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.stdout.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n

# File output by days...
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.Threshold=ERROR
log4j.appender.file.file=${catalina.base}/logs/psp_error.log
log4j.appender.file.MaxFileSize=2000KB
log4j.appender.file.DatePattern="."yyyy-MM-dd
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %p [%c] - %m%n

# HTML output...
log4j.appender.sql_html=org.apache.log4j.RollingFileAppender
log4j.appender.sql_html.Threshold=DEBUG
log4j.appender.sql_html.File=${catalina.base}/logs/psp_sql.html
log4j.appender.sql_html.MaxFileSize=5000KB
log4j.appender.sql_html.MaxBackupIndex=1
log4j.appender.sql_html.layout=org.apache.log4j.HTMLLayout

⑥ 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( "錯啦");

⑦ 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
來解決。

⑧ log4j中是否可以切換日誌輸出位置

話說,你指定不同的appender不行么?
log4j不是有類似addAppender的API存在的么
每個appender應該可以對應不同的輸出位置吧?
我沒這么干過,跟你一起等正解
那麼這么干呢?你把輸出日誌的方法封裝下,比如叫一個wrapperLogXXX(),裡面是真正的調用appender,輸出日誌的實現,每個方法調用wrapperLogXXX()的時候把class傳進去,然後在裡面根據class判斷用哪個appender。
辦法挺SB的,繼續跟你一起等正解

閱讀全文

與log4j輸出文件位置相關的資料

熱點內容
免費可以看污的 瀏覽:539
主人公是勞拉的電影 瀏覽:354
java漢字轉utf8 瀏覽:310
dnf90版本赫拉斯 瀏覽:937
在電腦上怎麼保存文件 瀏覽:233
電腦賣出文件清理 瀏覽:366
蒙正網路是什麼 瀏覽:778
哪個網站在線看電視不卡 瀏覽:621
靜態電影為什麼搜不到 瀏覽:460
保寶app怎麼破解 瀏覽:417
韓國床上在線觀看 瀏覽:28
win10登陸qq左上角黑 瀏覽:619
耽美大尺度電影 瀏覽:904
瘋狂動物城人物介紹英文版 瀏覽:516
抖音上的微笑分數是什麼app 瀏覽:963
重生給明星老婆寫歌的小說 瀏覽:300
跟陌生人車震電影 瀏覽:231
win10越獄工具 瀏覽:980
什麼叫數據線移除 瀏覽:431
今泉浩一柏林漂流 瀏覽:805

友情鏈接