http://logback.qos.ch/manual/encoders.htmlEncoder
負責將事件對象轉換為字節數組.
目前只有PatternLayoutEncoder是唯一有用的Encoder。
LayoutWrappingEncoder
兼容的包裝器(因為老版本的logback是跳過Encoder直接依賴Layout的)
PatternLayoutEncoder
針對PatternLayout(最常用的layout)定制的兼容包裝器。
immediateFlush屬性:是否將日志立刻寫入磁盤,默認為true。將這個選項設為false可以達高4到5倍的吞吐量。
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>foo.log</file>
<encoder>
<pattern>%d %-5level [%thread] %logger{0}: %msg%n</pattern>
<!-- this quadruples logging throughput -->
<immediateFlush>false</immediateFlush>
</encoder>
</appender>
outputPatternAsHeader屬性:在日志文件的頂部輸出一行字符串樣式,默認flase。
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>foo.log</file>
<encoder>
<pattern>%d %-5level [%thread] %logger{0}: %msg%n</pattern>
<outputPatternAsHeader>true</outputPatternAsHeader>
</encoder>
</appender>
輸出結果:
#logback.classic pattern: %d [%thread] %-5level %logger{36} - %msg%n
2012-04-26 14:54:38,461 [main] DEBUG com.foo.App - Hello world
2012-04-26 14:54:38,461 [main] DEBUG com.foo.App - Hi again