Что такое демпинг пути журнала log4j по умолчанию
Привет, я новичок в концепциях программирования, и я стараюсь что-то выработать с помощью log4j. Поэтому я читаю учебники Log4j, где я нашел следующий код:
package test;
import org.apache.log4j.Logger;
import java.io.*;
import java.sql.SQLException;
public class Log4jExample {
/* Get actual class name to be printed on */
static Logger log = Logger.getLogger(Log4jExample.class.getName());
public static void main(String[] args)throws IOException,SQLException
{
log.debug("Hello this is an debug message");
log.info("Hello this is an info message");
}
}
Но после запуска этого в eclipse я не могу найти сгенерированный файл журнала. Может ли кто-нибудь сказать, где файл сбрасывается? Также помогите мне с лучшими сайтами, из которых я могу узнать Log4j и Java Doc с нуля. Спасибо!!
Ответы
Ответ 1
Чтобы перенаправить вывод журналов в файл, вам необходимо использовать FileAppender и вам нужно определить другие данные файла в файле log4j.properties/xml. Вот пример файла свойств для него:
# Root logger option
log4j.rootLogger=INFO, file
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\loging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
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:
http://www.mkyong.com/logging/log4j-log4j-properties-examples/
Ответ 2
Скопируйте этот пример кода из здесь, правильно?
теперь, как вы можете видеть там property
файл, который они определили, вы сделали то же самое?
если нет, то добавьте ниже код в свой проект с файлом свойств для log4j
Таким образом, содержимое файла log4j.properties будет следующим:
# Define the root logger with appender file
log = /usr/home/log4j
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
внести изменения в соответствии с вашим требованием, например log
path
Ответ 3
По умолчанию Log4j
записывается на стандартный вывод, а это значит, что вы должны иметь возможность видеть сообщения журнала на вашем представлении консоли Eclipse. Для входа в файл вам нужно явно использовать FileAppender
, указав его в файле log4j.properties
в вашем пути к классам.
Создайте следующий log4j.properties
файл в вашем пути к классам. Это позволяет вам регистрировать ваше сообщение как в файле, так и в консоли.
log4j.rootLogger=debug, stdout, file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=example.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%p %t %c - %m%n
Примечание.. Вышеприведенный пример создает пример .log в текущем рабочем каталоге (например, каталог проекта Eclipse), так что те же log4j.properties могут работать с разными проектами, не перезаписывая друг друга.
Ссылки:
Apache log4j 1.2 - Краткое введение в log4j
Ответ 4
Вы можете просмотреть информацию о журнале в консольном представлении вашей среды IDE, если вы не используете какие-либо свойства log4j для генерации файла журнала. Вы можете определить log4j.properties в своем проекте, чтобы эти свойства использовались для генерации файла журнала. Ниже приведен быстрый пример.
# Global logging configuration
log4j.rootLogger=DEBUG, stdout, R
# SQL Map logging configuration...
log4j.logger.com.ibatis=INFO
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=INFO
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=INFO
log4j.logger.com.ibatis.SQLMap.engine.impl.SQL MapClientDelegate=INFO
log4j.logger.java.sql.Connection=INFO
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache.http=ERROR
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=MyLog.log
log4j.appender.R.MaxFileSize=50000KB
log4j.appender.R.Encoding=UTF-8
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F\:%L) - %m%n