不在日志记录器的控制台中打印日志
我已经删除了我的代码中的所有system.out.println(),并添加了apache log4j的Logger。但是我的控制台没有打印任何东西。这里是我的log4j.properties文件不在日志记录器的控制台中打印日志
# Define the root logger with appender X
log4j.rootLogger = DEBUG, X
# Set the appender named X to be a File appender
log4j.appender.X=org.apache.log4j.FileAppender
# Define the layout for X appender
log4j.appender.X.layout=org.apache.log4j.PatternLayout
log4j.appender.X.layout.conversionPattern=%m%n
我打电话记录器类如下
Logger log = Logger.getLogger(PersonImpl.class.getName());
除了我log.info(),越来越打印其他日志。
DEBUG [http-bio-8080-exec-3] (Table.java:505) - No alter strings for table : hibernate_sequence
DEBUG [http-bio-8080-exec-3] (JtaPlatformInitiator.java:42) - No JtaPlatform was specified, checking resolver
DEBUG [http-bio-8080-exec-3] (JtaPlatformResolverInitiator.java:33) - No JtaPlatformResolver was specified, using default [org.hibernate.engine.transaction.jta.platform.internal.StandardJtaPlatformResolver]
DEBUG [http-bio-8080-exec-3] (StandardJtaPlatformResolver.java:101) - Could not resolve JtaPlatform, using default [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
DEBUG [http-bio-8080-exec-3] (NamedQueryRepository.java:149) - Checking 0 named HQL queries
DEBUG [http-bio-8080-exec-3] (NamedQueryRepository.java:165) - Checking 0 named SQL queries
你只加了FileAppender
(这将导致只写在文件记录),但你还需要增加一个ConsoleAppender
,如果你想登录控制台进行为好。
这是可以做到如下:
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
,并在rootLogger如果你想关闭休眠特定日志添加附加目的地的名称,这样
log4j.rootLogger = DEBUG, X, stdout
从这个
分开,你将必须做
log4j.logger.org.hibernate=fatal or log4j.logger.org.hibernate=off
希望这有助于!
祝你好运!
将此代码用于您想要实际生成日志的类。
private static final Logger LOGGER = Logger.getLogger("Class Name Where u used");
LOGGER.error ("string which u want to print");
LOGGER.info("string which u want to print");
LOGGER.warn("string which u want to print");
使用此设置我已经做在我的项目。它会生成您的日志到控制台,以及logger.out到项目目录
log4j.rootLogger=INFO, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=logger.out
log4j.appender.FILE.MaxFileSize=1MB
log4j.appender.FILE.MaxBackupIndex=100
# Define the layout for file appender
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.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.conversionPattern=%m%n
乐意帮助!
U可以打印在日志文件
log4php.appender.services = LoggerAppenderDailyFile
log4php.appender.services.layout = LoggerLayoutPattern
log4php.appender.services.datePattern = YMD
log4php.appender.services.file =/home/Logs_%s
log4php.appender.services.layout.ConversionPattern = “%24d的{} ISO8601 [%P]%F:%L%M%N”
log4php.rootLogger =调试,服务
Vishal我不想在任何文件中,我只是想在我的控制台中,也只是我的日志。 – Syed
尝试:
log4j。rootLogger = DEBUG,标准输出
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out的
log4j.appender.stdout.layout =组织.apache.log4j.PatternLayout
谢谢..但是,除了日志信息之外,它还打印其他行代码行。我不想要所有其他行 – Syed
我的意思是说我不想要其他日志,除了我在代码中写入的日志。 – Syed
你可以帮我们举例说明你不想要的线条,我们无法完全了解问题 – Vihar