2013-12-12 52 views
0

我已经创建了示例log4j类来测试配置。我写了下面的log4j属性文件:在哪里可以找到我的项目中的日志文件?

log4j.rootLogger = INFO, FILE, CONSOLE 
log4j.appender.FILE=org.apache.log4j.FileAppender 
log4j.appender.FILE.File=X:\\logs\Log4jExample.log 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 
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{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 

我的示例程序是:

public class Log4jExample 
{ 

    static Logger log = Logger.getLogger(Log4jExample.class.getName()); 

    public static void main(String[] args) throws IOException { 
     try { 
      FileInputStream fstream = new FileInputStream("D:\\textfile.txt"); 
      // use DataInputStream to read binary NOT text   
      // DataInputStream in = new DataInputStream(fstream); 
      BufferedReader br = new BufferedReader(new InputStreamReader(fstream)); 

      String strLine; 
      while ((strLine = br.readLine()) != null) { 
       System.out.println (strLine); 
      } 
      in.close(); 
     } catch (FileNotFoundException fe) { 
      log.error("File Not Found",fe); 
      log.warn("This is a warning message"); 
      log.trace("This message will not be logged since log level is set as DEBUG");  
     } catch (IOException e) { 
      log.error("IOEXception occured:", e); 
     } 
    } 
} 

我收到我的控制台预期的输出,但我无法找到我的生成日志文件。我已将其路径设置为X:\\logs。但是没有创建这样的日志文件。

请帮忙。

+0

您是否在控制台中获取任何日志? – gks

+0

我的控制台中输出正确,唯一的问题是它没有创建任何日志文件。 @Gk。 –

回答

0

我在配置中看不到任何错误。
但在你initialitation,试试这个:

static final Logger LOGGER = LoggerFactory.getLogger(MyClass.class) 
+0

它没有在我的目的地创建任何日志文件。 –

+0

我会使用相对路径,并且应该在您的应用程序中创建日志。 –

0

变化X:\\logs\test.logX://logs/test.log路径 一般人往往给相对路径像log/MutationPipeline.log

+0

是的,日志文件夹已在X中创建:.... –

+1

@mahes_SA_JEY:请参阅我的编辑 – Sach

1

你的道路已经在一些地方双反斜线和单反斜线在其他地方。你可以用全单(或全双)反斜杠再试一次吗? 要尝试的另一件事是首先登录到本地驱动器(C :),以查看问题是否与映射的网络驱动器有关。

(顺便说一句,这个问题被标记log4j2但你使用log4j的-1.x中)

相关问题