我正在我的Spring Boot应用程序中使用Logback。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- Send debug messages to System.out -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- By default, encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
</encoder>
</appender>
<!-- Send debug messages to a file at "C:/logs/Log.log" -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>C:/logs/Log.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%d{yyyy-MM-dd_HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<FileNamePattern>C:/logs/Log.%i.log.zip</FileNamePattern>
<MinIndex>1</MinIndex>
<MaxIndex>10</MaxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<logger name="package.web" level="INFO" >
<appender-ref ref="FILE" />
</logger>
<logger name="package.dao" level="DEBUG" >
<appender-ref ref="FILE" />
</logger>
<!-- By default, the level of the root level is set to DEBUG -->
<root level="DEBUG">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>
<logger name="package.web" level="INFO" >
<appender-ref ref="FILE" />
</logger>
您需要添加控制台附加器。
<logger name="package.web" level="INFO" >
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</logger>
更新:我刚刚重读了日志配置doku。实际上,这两个应该从root继承两个附加符。所以,您可以尝试的是不在那些上面指定任何appender-ref,然后看看会发生什么。如果没有输出被写入到文件中,那么两者都没有--那么就会有一些很奇怪的东西。如果可加性标志被设置为false,我会期待这种行为。但默认为追加累加。
问题内容: 我已经设定 我已经禁用了log4j.properties中的所有消息 但是Hibernate将所有查询和语句写入控制台。 问题答案: 设置为告诉hibernate将 所有SQL语句写入控制台。 这是将日志类别设置为调试的替代方法。 因此,即使将此属性设置为,也请确保没有定义以下类别(或配置为使用控制台附加程序): 另外,请确保在实例化对象时不要将程序设置为true 。寻找这样的事情:
问题内容: 此代码是否同时写入日志文件和控制台? 问题答案: 不,它不会同时写入两者。只会写入控制台。关于原始代码的简短说明。我想您在某处定义,但是代码仍然不正确。您需要在语句中使用引号,例如: 因为我认为您是要附加到文件中。否则,您的代码将抛出一个因为未定义的变量。 但是,正如其他人所说,您应该强烈考虑使用日志记录模块。这是一个如何同时写入控制台和日志文件的简单示例。该代码部分源自此处和此处:
我正在Servlet 3.0和Tomcat中做一个简单的演示项目 我接受邮递员的JSON请求并提供JSON响应。 现在我也想在我的项目中做日志记录。 所以我使用log4j2 罐子使用:- log4j-1.2.12.jar, jackson-databind-2.6.3.jar, jackson-core-2.6.3.jar Servlet代码:- 我的项目目录:- 我的log4j。xml 当我在e
在中有一个,可以将日志写入到。 我需要在中使用相同的功能,但我还没有找到这样做的选项。有人知道如何使用实现同样的效果吗?
问题内容: 好的,这是我设置所有内容的代码: 发生的是 error.log被创建 没有写任何东西 尽管未添加StreamHandler并将debug设置为false,但我仍然将所有内容都添加到STDOUT中(这可能是正确的,但仍然看起来很奇怪) 我是完全离开这里还是发生了什么事? 问题答案: 为什么不这样做呢? 如果现在启动应用程序,你将看到error.log包含: 有关更多信息,请访问http:
> 我试图将JSON文件导入变量,但变量中只显示前几个字符 样本。json是200000个字符,当我在控制台上打印变量时,只打印前3756个字符。通过控制台打印的字符是否有任何限制。日志 完整数据保存在样本变量