2011-02-23 127 views
0

如何使用log4j將項目中運行的所有操作和異常都獲取到文件中。Log4j屬性和log4j.xml

+0

是您的應用程序web應用程序的命令行工具或其他什麼東西? – 2011-02-23 13:01:30

+0

更精確。你做了什麼 ? – LB40 2012-11-13 12:51:44

回答

0

1使用記錄器機制將所有異常和錯誤記錄到存儲在硬盤驅動器或服務器位置的文件(example : C:\\MyProject\logs\Mylog.txt

  1. 我在談論的記錄器機制是Log4j的使用,它將幫助記錄應用程序中報告的所有異常在單獨的路徑。

  2. Log4j.jar必須與其他相關的jar文件一起放在lib文件夾中。

有用的鏈接:http://www.mkyong.com/struts/struts-log4j-integration-example/

0

你可以把下面的log4j.xml在類路徑:

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> 
    <appender name="CA" class="org.apache.log4j.ConsoleAppender"> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%-4r [%t] %-5p %c %x - %m%n" /> 
     </layout> 
    </appender> 
    <root> 
     <level value="debug" /> 
     <appender-ref ref="CA" /> 
    </root> 
</log4j:configuration> 

而且你需要在你的應用程序的正確記錄語句,例如:

public class HelloWorld { 

    static Logger logger = Logger.getLogger(HelloWorld.class); 

    public static void main(String[] args) { 
     logger.debug("Sample debug message"); 
     logger.info("Sample info message"); 
     logger.warn("Sample warn message"); 
     logger.error("Sample error message"); 
     logger.fatal("Sample fatal message"); 
    } 
} 
0

我懷疑你問這個,但以防萬一(其不清楚你的問題):

如果您正在尋找記錄任何異常,你的應用程序(代碼)拋出你將不得不使用像aspectj這樣的東西。要做到這一點其他明智的你將有:

try { 
// some questionable code 
} 
catch(Exception e) { 
    log.error(e); 
    throw new RuntimeException(e); 
} 
0

Log4j主要有三個部分:記錄器,追加和佈局。這三種類型的組件協同工作,使開發人員能夠根據消息類型和級別記錄消息,並在運行時控制這些消息的格式和報告位置。

this例如