Свойства log4j2 печатают -1 для номера строки в LinuxLinux

Ответить
Anonymous
 Свойства log4j2 печатают -1 для номера строки в Linux

Сообщение Anonymous »

Я использую файл Apache Log4j log4j2.properties для своего JAVA-приложения. Приложение %L для количества строк отображается как -1 в консоли в Linux. Когда я запускаю свою программу JAVA EE НЕ Maven в Windows, количество строк отображается в консоли.

Зависимости: > log4j-api-2.20.0.jar и log4j-core-2.20.0.jar

Версии Java:

Linux :

openjdk версии «1.8.0_402»

Среда выполнения openJDK (сборка 1.8.0_402-b06)

openJDK 64- ВМ Bit Server (сборка 25.402-b06, смешанный режим)
Windows:

версия Java "17.0.10.0.1" 2024 г. -01-16 LTS

Среда выполнения Java(TM) SE (сборка 17.0.10.0.1+1-LTS-3)

Java HotSpot(TM) 64-разрядная версия Серверная виртуальная машина (сборка 17.0.10.0.1+1-LTS-3, смешанный режим, общий доступ)
--Вот мой файл log4j2.properties

Код: Выделить всё

status = warn
name= RollingFileLogConfig

# Log files location
property.basePath = /data/app/logs

appender.console.type = Console
appender.console.name = stdout
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %level [%c{1}:%L]%m%n

# RollingFileAppender name, pattern, path and rollover policy
appender.rolling.type = RollingFile
appender.rolling.name = LogToRollingFile
appender.rolling.fileName= ${basePath}/app.log
appender.rolling.filePattern= ${basePath}/app_%d{yyyyMMdd}.log
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern =  %d{yyyy-MM-dd HH:mm:ss} %level [%c{1}:%L]%m%n
appender.rolling.policies.type = Policies

# RollingFileAppender rotation policy
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size = 10MB
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.delete.type = Delete
appender.rolling.strategy.delete.basePath = ${basePath}
appender.rolling.strategy.delete.maxDepth = 10
appender.rolling.strategy.delete.ifLastModified.type = IfLastModified

# Delete all files older than 30 days
appender.rolling.strategy.delete.ifLastModified.age = 30d

# Log to console for apps
logger.app.name = my.app.MyAppName

logger.app.level = info
logger.app.stdout.console.ref = stdout
logger.app.appenderRef.rolling.ref = LogToRollingFile

# Configure root logger
rootLogger.level = debug
rootLogger.appenderRef.stdout.ref = stdout
rootLogger.appenderRef.rolling.ref = LogToRollingFile
--Вот мой файл JAVA-контроллера/сервлета

Код: Выделить всё

logger.info("This is my app info");
logger.error("This is my app error info");
logger.warn("This is my app warning info");
--Вот мой вывод JAVA на консоль для Linux и Windows
--Консоль в Linux

Код: Выделить всё

[INFO]  2024-05-08 09:26:15 [MyAppName:-1] This is my app info
[ERROR] 2024-05-08 09:26:15 [MyAppName:-1] This is my app error info
[WARN]  2024-05-08 09:26:15 [MyAppName:-1] This is my app warning info
--Консоль в Windows

Код: Выделить всё

 [INFO]  2024-05-08 09:26:15 [MyAppName:23] This is my app info
[ERROR] 2024-05-08 09:26:15 [MyAppName:24] This is my app error info
[WARN]  2024-05-08 09:26:15 [MyAppName:25] This is my app warning info
В консоли Windows количество строк показывает номер строки в коде.
В консоли Linux эта строка счет равен -1. Что я могу делать неправильно? Может ли кто-нибудь помочь? Спасибо

Подробнее здесь: https://stackoverflow.com/questions/784 ... r-on-linux
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»