Convert Log4j Properties Configuration to JSON

Transform Log4j log4j.properties configuration into structured JSON for migration to modern logging frameworks or analysis.

Logging

Detailed Explanation

Log4j Properties Configuration

Log4j (both 1.x and early 2.x) used .properties files as a primary configuration format. While modern Log4j 2.x prefers XML or YAML, many legacy applications still use log4j.properties.

Example log4j.properties

# Root Logger
log4j.rootLogger=INFO, stdout, file

# Console Appender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Rolling File Appender
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=application.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Package-level logging
log4j.logger.com.example=DEBUG
log4j.logger.org.springframework=WARN
log4j.logger.org.hibernate.SQL=DEBUG

Nested JSON Structure

{
  "log4j": {
    "rootLogger": "INFO, stdout, file",
    "appender": {
      "stdout": {
        "": "org.apache.log4j.ConsoleAppender",
        "Target": "System.out",
        "layout": { ... }
      },
      "file": {
        "": "org.apache.log4j.RollingFileAppender",
        "File": "application.log",
        "MaxFileSize": "10MB"
      }
    },
    "logger": {
      "com": {
        "example": "DEBUG"
      },
      "org": {
        "springframework": "WARN",
        "hibernate": {
          "SQL": "DEBUG"
        }
      }
    }
  }
}

Migration Insight

Converting Log4j properties to JSON is a useful intermediate step when migrating from Log4j 1.x to Log4j 2.x, SLF4J, or Logback. The JSON structure reveals the appender hierarchy and logger tree, making it easier to map them to the equivalent XML or YAML configuration format.

Use Case

Migrating legacy Log4j 1.x properties configuration to Log4j 2.x XML/YAML format by using JSON as an intermediate representation, or auditing logging configuration across multiple services.

Try It — Properties \u2194 JSON Converter

Open full tool