当前位置: 首页 > 知识库问答 >
问题:

不打印日志中的外部log4j.properties-spring boot 2.2.1

施文彬
2023-03-14

2.2.1版本中开发一个Spring Boot应用程序。

logging.config =${external.config}/log4j.properties.
   <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>
log4j.rootLogger=error,Service  
# Direct log messages to a log file
log4j.appender.Service=org.apache.log4j.RollingFileAppender
log4j.appender.Service.File=C:/log/Service.log
log4j.appender.Service.MaxFileSize=1MB
log4j.appender.Service.MaxBackupIndex=1
log4j.appender.Service.layout=org.apache.log4j.PatternLayout
log4j.appender.Service.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - [%X{AUDIT_USER}] %m%n

我在堆栈中引用了以下链接

1.记录器在Spring Boot 1.5.7中不使用log4j.properties打印

2.spring boot日志记录中log4.properties文件不工作

public class ServiceMain {

    private static final Logger logger = LogManager.getLogger(ServiceMain.class);
    public static void main(String[] args) {

        SpringApplication.run(ServiceMain.class, args);
        logger.debug("----------------------Stating spring booot----------------------");



    }

} 

日志文件

2019-11-22 05:20:14,631 INFO o.s.b.StartupInfoLogger [main] Starting ServiceMain v7.0.0.0 on host-4 with PID 119176 (D:\Service\target\Service-1.0.jar started by Administrator in D:\Service\target)
2019-11-22 05:20:14,634 DEBUG o.s.b.StartupInfoLogger [main] Running with Spring Boot v2.2.1.RELEASE, Spring v5.2.1.RELEASE
2019-11-22 05:20:14,635 INFO o.s.b.SpringApplication [main] The following profiles are active: Service
2019-11-22 05:20:24,898 INFO o.s.b.StartupInfoLogger [main] Started ServiceMain in 12.312 seconds (JVM running for 14.189)

我是否错过了log4j2.properties配置?

共有1个答案

何高旻
2023-03-14

您使用的是log4j2(您应该使用它,因为版本1不再受支持),但似乎是使用log4j1配置文件进行配置的。

您可以在log4j2的文档中了解更多关于log4j2的配置属性。它包括以下示例:

status = error
dest = err
name = PropertiesConfig

property.filename = target/rolling/rollingtest.log

filter.threshold.type = ThresholdFilter
filter.threshold.level = debug

appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %m%n
appender.console.filter.threshold.type = ThresholdFilter
appender.console.filter.threshold.level = error

appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ${filename}
appender.rolling.filePattern = target/rolling2/test1-%d{MM-dd-yy-HH-mm-ss}-%i.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d %p %C{1.} [%t] %m%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 2
appender.rolling.policies.time.modulate = true
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size=100MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 5

logger.rolling.name = com.example.my.app
logger.rolling.level = debug
logger.rolling.additivity = false
logger.rolling.appenderRef.rolling.ref = RollingFile

rootLogger.level = info
rootLogger.appenderRef.stdout.ref = STDOUT
 类似资料:
  • 当我运行这段代码时,没有任何东西被打印到控制台。我应该如何使用logp?

  • Linux平台: set save_java_options=%java_options%-xms512m-xmx1024m-xx:maxpermsize=512m-djava.net.preferIPv4stack=true-djava.net.preferIPv6addresses=false-djavax.xml.parsers.saxparserfactory=com.sun.org.ap

  • 本文向大家介绍请问如何打印日志?相关面试题,主要包含被问及请问如何打印日志?时的应答技巧和注意事项,需要的朋友参考一下 考察点:异常 cat /var/log/*.log 如果日志在更新,如何实时查看tail -f /var/log/messages 还可以使用watch -d -n 1 cat /var/log/messages -d表示高亮不同的地方,-n表示多少秒刷新一次。

  • 本文向大家介绍C#打印日志的方法总结,包括了C#打印日志的方法总结的使用技巧和注意事项,需要的朋友参考一下 在我们对程序进行操作过程中,一般都需要有一个操作流程的记录显示。用C#进行编程时可以很容易实现这个功能。本经验提供案例仅供参考 下面小编就来介绍一下如何使用textbox控件实现日志功能。 打开Visual Studio 2010,建立一个新的C#程序。在工具箱中双击【textbox】控件。

  • 我按照文档新建了MyAbilityStage,并且在该模块对应的 module.json5中配置如下,但是在预览启动时,log控制台没打印,求解惑 代码如下 module.json5 如下 求解惑

  • 在我添加了一个或多个带有数据库映射的类(JPA/Hibernate)之后,我希望Hibernate打印出必要的模式更新,以便我可以在数据库上执行它们(例如通过FlyWay)。我不希望自动执行更新。 有没有类似的东西我可以用在Spring靴上?