2013-12-12 4 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.log на X://logs/test.log путь Обычно люди, как правило, дают относительный путь, как log/MutationPipeline.log

+0

Да, папка журналов уже создана в X: .... –

+1

@mahes_SA_JEY: См. Мое редактирование – Sach

1

Ваш путь имеет два раза подряд в некоторых местах и ​​отдельные обратные слэши в других местах , Можете ли вы попробовать снова со всеми одиночными (или все-двойными) обратными косыми чертами? Еще одна вещь, которую стоит попробовать - это зарегистрировать локальный диск (сначала C :), чтобы узнать, связана ли проблема с подключенными сетевыми дисками.

(Кстати, вопрос помечен log4j2 но вы используете log4j-1.x)

0

Является ли X: отображенный сетевой диск? Я помню, что в какой-то момент у меня возникли проблемы с записью подключенного сетевого диска с Java на Windows. Это может быть вызвано этой проблемой: Windows file share: why sometimes newly created files aren't visible for some period of time?

Можете ли вы попробовать использовать локальный диск, например C:/temp, чтобы проверить, есть ли там файлы журнала? Это сузило бы его ...

Смежные вопросы