2017-09-22 7 views
3

Je souhaiterais une configuration de fichier de propriétés log4j2 avec une console et un applicateur de fichiers roulants utilisant log4j2 qui peut utiliser différentes applications. La configuration du journal doit faire pivoter le journal dans l'environnement de production.Fichier de configuration des propriétés log4j2 très simple à l'aide de l'appender Console and Rolling File

+0

ce que vous entendez> qui peut être utilisé différentes applications. –

+0

En fait, je suis à la recherche d'une configuration log4j2 standard selon les standards de l'industrie. Avec quelques changements, je peux l'utiliser dans l'application multiple de mon entreprise. –

Répondre

9

Je pense qu'il n'y a pas une telle norme de l'industrie pour la configuration ou la configuration log4j2. Tout le monde change la configuration selon le besoin de l'application.

ci-dessous est un exemple de fichier de configuration de log4j2 ayant ConsoleAppender et RollingFileAppender -

status = warn 
name= properties_configuration 

# Give directory path where log files should get stored 
property.basePath = ./log/ 

# ConsoleAppender will print logs on console 
appender.console.type = Console 
appender.console.name = consoleLogger 
appender.console.target = SYSTEM_OUT 
appender.console.layout.type = PatternLayout 

# Specify the pattern of the logs 
appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} %level [%t] [%c] [%M] [%l] - %msg%n 


# RollingFileAppender will print logs in file which can be rotated based on time or size 
appender.rolling.type = RollingFile 
appender.rolling.name = fileLogger 
appender.rolling.fileName=${basePath}/app.log 
appender.rolling.filePattern=${basePath}app_%d{yyyyMMdd}.log.gz 
appender.rolling.layout.type = PatternLayout 
appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} %level [%t] [%c] [%M] [%l] - %msg%n 
appender.rolling.policies.type = Policies 

# Rotate log file each day 
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 = 1 
appender.rolling.strategy.delete.ifLastModified.type = IfLastModified 
# Delete files older than 30 days 
appender.rolling.strategy.delete.ifLastModified.age = 30d 

# Mention package name here in place of example. Classes in this package or subpackages will use ConsoleAppender and RollingFileAppender for logging 
logger.example.name = example 
logger.example.level = debug 
logger.example.additivity = false 
logger.example.appenderRef.rolling.ref = fileLogger 
logger.example.appenderRef.console.ref = consoleLogger 

# Configure root logger for logging error logs in classes which are in package other than above specified package 
rootLogger.level = error 
rootLogger.additivity = false 
rootLogger.appenderRef.rolling.ref = fileLogger 
rootLogger.appenderRef.console.ref = consoleLogger 
+0

Merci beaucoup. C'est vraiment très utile. –

+0

Désolé pour la réponse tardive. J'ai besoin d'ajouter l'adresse IP de l'hôte au fichier journal. Est-il possible sans modifier le code de code Java de l'application? –

+0

@SubhajitPal Je pense que c'est possible. Cochez cette case [link] (https://logging.apache.org/log4j/2.x/manual/configuration.html#Property_Substitution). Un autre point important que c'est une question entièrement différente, alors vous devriez poser une nouvelle question. –