log4j2 Logger работает только в основном классе - Spring Boot - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь использовать функциональность «log4j2» для нового приложения, но не могу заставить регистратор работать за пределами основного класса, пробуя различные комбинации статических, окончательных и автонастроенных конфигов в вторичных классах.

Все классы и конфигурации приведены ниже.Что я пропускаю или неправильно звоню?

POM.XML

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.3.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
...

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

Корневой класс:

@SpringBootApplication
public class DocumentServiceApplication {

    private static final Logger logger = LogManager.getLogger(DocumentServiceApplication.class);

    public static void main(String[] args) {

            //these work.
        logger.debug("Logger correctly configured debug.");
        logger.error("Logger correctly configured error.");
        logger.info("Logger correctly configured info.");

        SpringApplication.run(DocumentServiceApplication.class, args);
    }

}

Вторичный (Web API) класс:

@RestController
public class DocumentController {

    @Autowired
    private PPAFileService ppaFileService;

    private static final Logger logger = LogManager.getLogger(DocumentController.class);

    @GetMapping("/ppa/process")
    @ResponseBody
    public ResponseEntity<String> process( ) throws Exception
    {
        try {
            //this logging gives no error and no entry on console or file.
            logger.debug("Received request for PPA file.");
            ...

        } catch (Exception e) {
            return new ResponseEntity<>(e.getMessage(), HttpStatus.BAD_REQUEST);
        }
    }
}

Выход журнала

2019-04-10 15:37:56 DEBUG Logger correctly configured debug.
2019-04-10 15:37:56 ERROR Logger correctly configured error.
2019-04-10 15:37:56 INFO  Logger correctly configured info.

log4j2.properties

status = error
name = PropertiesConfig

#Make sure to change log file path as per your need

property.filename = D:\\projects\\app\\application.log

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

appenders = rolling

appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ${filename}
appender.rolling.filePattern = application-backup-%d{MM-dd-yy-HH-mm-ss}-%i.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size=10MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 20

loggers = rolling

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