繁体   English   中英

在Logger控制台中不打印日志

[英]Not printing logs in console of Logger

我已经删除了代码中的所有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中添加appender的名称,例如

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 =调试,服务

尝试这个 :

log4j.rootLogger = DEBUG,标准输出

log4j.appender.stdout = org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target = System.out的

log4j.appender.stdout.layout = org.apache.log4j.PatternLayout

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM