2015年1月20日 星期二

Eclipse debugging “source not found.” 找不到資源,短解



找不到資源,短解


Eclipse debugging “source not found”

Source not found.



1.Clicked on the "Breakpoints" window at the bottom of the debugging screen
   開啟Breakpoints視窗

2.Right clicked "NullPointerException"
   右鍵點選NullPointerException取消勾選選單中的Caught
   或是直接取消勾選下面的Caught locations

3.Unchecked "Caught locations"
   取消勾選下面的Caught locations

Source not found.




  

2015年1月15日 星期四

使用JCL與Log4j2紀錄log



使用 JCL 與 Log4j2 紀錄 log (教學)


使用 JCL 版本為

Apache Commons Logging 1.2




使用Log4j2 版本為

Apache Log4j 2






以Eclipse來舉例:

在你的Java Project 上開啟 Properties視窗
Properties -> Java Build Path -> Libraries -> Add External JARs..

加入以下 jar 檔
  • og4j-api-2.1.jar
  • log4j-core-2.1.jar

然後在路徑 src 內新增一個XML檔,檔名 log4j2.xml

如果需要設定log的檔案名稱

經由操控檔名
可以做到

File Name format by hour
filePattern="logs/log-%d{yyyyMMdd-HH}.log"
File Name format by minute
filePattern="logs/log-%d{yyyyMMdd-HHmm}.log"
File Name format by second
filePattern="logs/log-%d{yyyyMMdd-HHmmss}.log"
File Name format by millisecond 
filePattern="logs/log-%d{yyyyMMdd-HHmmss.SSS}.log"

如果單一檔案超過10MB,檔名的i++
filePattern="logs/log-%d{yyyyMMdd-HH}~%i.log"


設定檔範例 log4j2.xml




<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <!-- Console & SYSTEM_OUT format by pattern-->
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n" />
        </Console>
        <!-- DailyFile & Log file Name format by pattern-->
        <RollingFile
            name="DailyFile" fileName="logs/Teemo-log.log"
            filePattern="logs/log-%d{yyyyMMdd-HH}~%i.log">
            <PatternLayout>
                <Pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss} [%t] %c{1} - %msg%n
                </Pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true" />
                <SizeBasedTriggeringPolicy size="10 MB" />
            </Policies>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Logger name="org.apache.log4j.xml" level="info" />
        <Root level="debug">
            <AppenderRef ref="Console" />
            <AppenderRef ref="DailyFile" />
        </Root>
    </Loggers>
</Configuration>




範例程式
package main;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class UsingLog4j2AndJCL {

 protected static Log log = LogFactory.getLog(UsingLog4j2AndJCL.class);
 
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  log.info("Hello, World!"); 
  log.error("Hello, World!");       
 }

}





相關資料可以參考

[JAVA][log4j] 詳細設定




熱門文章