# perldoc > Log::Log4perl::Config

---
type: CommandReference
command: Log::Log4perl::Config
mode: perldoc
section: ""
source: perldoc
---

## Quick Reference

- `log4perl.logger.Category = LEVEL, AppenderList` — Set logger category with level and appender(s)
- `log4perl.rootLogger = LEVEL, AppenderList` — Set root logger level and appender(s)
- `log4perl.additivity.Category = 0|1` — Control additivity for a logger
- `log4perl.appender.AppName = Class` — Define an appender with class
- `log4perl.appender.AppName.option = value` — Set appender-specific options
- `log4perl.appender.AppName.layout = LayoutClass` — Assign a layout to an appender
- `log4perl.appender.AppName.layout.ConversionPattern = pattern` — Set pattern layout format
- `use Log::Log4perl::Config; Log::Log4perl::Config->utf(1);` — Enable utf-8 config file support

## Name

Log::Log4perl::Config — Log4perl configuration file syntax

## Synopsis

Configuration files use a log4j-compatible format with Perl-specific extensions. Lines are `key = value` pairs. Comments begin with `#`, `!`, or `;` (after optional whitespace). Blank lines are ignored. Trailing whitespace is stripped. Line continuation with backslash (`\`) at the very end of a line.

Syntax:

log4perl.logger.Category = LEVEL, Appender1, Appender2, ...
log4perl.rootLogger = LEVEL, Appender1, Appender2, ...
log4perl.additivity.Category = 0|1
log4perl.appender.AppenderName = AppenderClass
log4perl.appender.AppenderName.option = value
log4perl.appender.AppenderName.layout = LayoutClass
log4perl.appender.AppenderName.layout.ConversionPattern = pattern
## Options

### Logger Settings

- `log4perl.logger.Category = LEVEL, AppenderList` — Set logger for category hierarchy. `LEVEL` is one of `DEBUG`, `INFO`, `WARN`, `ERROR`, `FATAL`. `AppenderList` is comma-separated appender names.
- `log4perl.rootLogger = LEVEL, AppenderList` — Root logger configuration (equivalent to `log4perl.logger = ...`).
- `log4perl.additivity.Category = 0|1` — Enable or disable additivity for a logger (default 1).

### Appender Settings

- `log4perl.appender.AppName = Class` — Define appender; `Class` is a full Perl class name (e.g., `Log::Log4perl::Appender::File`).
- `log4perl.appender.AppName.option = value` — Custom option for the appender (e.g., `filename`, `mode`, `stderr`).

### Layout Settings

- `log4perl.appender.AppName.layout = LayoutClass` — Assign layout to appender (e.g., `Log::Log4perl::Layout::SimpleLayout`, `Log::Log4perl::Layout::PatternLayout`).
- `log4perl.appender.AppName.layout.ConversionPattern = pattern` — Format string for `PatternLayout` (e.g., `%d %m %n`).

## Examples

### Append to STDERR

perl
log4perl.category.Bar.Twix      = WARN, Screen
log4perl.appender.Screen        = Log::Log4perl::Appender::Screen
log4perl.appender.Screen.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.Screen.layout.ConversionPattern = %d %m %n
### Append to STDOUT

perl
log4perl.category.Bar.Twix      = WARN, Screen
log4perl.appender.Screen        = Log::Log4perl::Appender::Screen
log4perl.appender.Screen.stderr = 0
log4perl.appender.Screen.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.Screen.layout.ConversionPattern = %d %m %n
### Append to a log file

perl
log4perl.logger.Bar.Twix = DEBUG, A1
log4perl.appender.A1=Log::Log4perl::Appender::File
log4perl.appender.A1.filename=test.log
log4perl.appender.A1.mode=append
log4perl.appender.A1.layout = Log::Log4perl::Layout::PatternLayout
log4perl.appender.A1.layout.ConversionPattern = %d %m %n
### Write a log file from scratch

perl
log4perl.logger.Bar.Twix = DEBUG, A1
log4perl.appender.A1=Log::Log4perl::Appender::File
log4perl.appender.A1.filename=test.log
log4perl.appender.A1.mode=write
log4perl.appender.A1.layout=Log::Log4perl::Layout::SimpleLayout
### Configuration files encoded in utf-8

perl
use Log::Log4perl::Config;
Log::Log4perl::Config->utf(1);
Log::Log4perl->init(...);
## See Also

- [Log::Log4perl::Config::PropertyConfigurator](https://metacpan.org/pod/Log::Log4perl::Config::PropertyConfigurator)
- [Log::Log4perl::Config::DOMConfigurator](https://metacpan.org/pod/Log::Log4perl::Config::DOMConfigurator)
- [Log::Log4perl::Config::LDAPConfigurator](https://metacpan.org/pod/Log::Log4perl::Config::LDAPConfigurator) (coming soon!)