ace/Source/ACE.Server/log4net.config.ConsoleExample
Mag-nus 4d650bc8f9
Cleanup log.Info level messages (#2217)
* Cleanup log.Info level messages

Log.info is the default console output and is intended for:
server startup
connection/disconnections
admin initiated command output
server shutdown

Log.Debug is the appropriate level for debug-type messages that are to be logged and audited at a later date, but not output to the console.

* Missed a couple

* Move HandleSalvaging from Warn to Debug

* Add some tags

* Couple more

* remove space between tags

* Update the log4net examples

* fix message

* Add requested tags

* more tags
2019-08-30 19:25:35 -05:00

66 lines
2.5 KiB
Text

<!-- This config file shows you how to refine your console output.
In this example, the following takes place:
All INFO, WARN, ERROR, FATAL messages go to the console
Any DEBUG level message with [CORPSE] or [LOOT] is also forwarded to the console
Any DEBUG level messages from ACE.Server.Managers.HouseManager
You'll see that Console isn't listed in the root appenders list.
Instead, we list th forwarders. They will forward the logs to the Console appender.
This type of forward logging can also be appllied to file outputs.
Note: stringToMatch is case sensitive! You can also use regexToMatch
-->
<log4net>
<appender name="Console" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level: %message%newline" />
</layout>
</appender>
<appender name="ConsoleInfoForwarder" type="log4net.Appender.ForwardingAppender" >
<threshold value="INFO"/>
<appender-ref ref="Console" />
</appender>
<appender name="ConsoleFilterForwarder" type="log4net.Appender.ForwardingAppender" >
<!-- We filter out the log levels that the console will receive from ConsoleInfoForwarder -->
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="INFO" />
<acceptOnMatch value="false" />
</filter>
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="WARN" />
<acceptOnMatch value="false" />
</filter>
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="ERROR" />
<acceptOnMatch value="false" />
</filter>
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="FATAL" />
<acceptOnMatch value="false" />
</filter>
<!-- Next, we look for what we want to match -->
<filter type="log4net.Filter.StringMatchFilter">
<regexToMatch value="^.*\[(CORPSE|LOOT)\].*$" />
</filter>
<filter type="log4net.Filter.LoggerMatchFilter">
<loggerToMatch value="ACE.Server.Managers.HouseManager" />
</filter>
<!-- Lastly, we reject everything else -->
<filter type="log4net.Filter.DenyAllFilter" />
<appender-ref ref="Console" />
</appender>
<root>
<level value="ALL" />
<!-- For any appender you define above, you must add it here for it to work -->
<!-- If you want to disable any specific log, you can comment them out here -->
<appender-ref ref="ConsoleInfoForwarder" />
<appender-ref ref="ConsoleFilterForwarder" />
</root>
</log4net>