[
https://issues.apache.org/jira/browse/LOG4NET-106?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12472481
]
Nicko Cadell commented on LOG4NET-106:
--------------------------------------
How about just using a PatternLayout to render the string for the category name:
<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
<layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level
%logger [%ndc] %property - %message%newline" />
<category value="%logger" />
</appender>
This would give you the current behaviour.
To specify the user as the category use:
<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
<layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level
%logger [%ndc] %property - %message%newline" />
<category value="%username" />
</appender>
This allows static strings as well as dynamic values.
> TraceAppender : Add switch to disable using logger name as trace category
> -------------------------------------------------------------------------
>
> Key: LOG4NET-106
> URL: https://issues.apache.org/jira/browse/LOG4NET-106
> Project: Log4net
> Issue Type: Improvement
> Components: Appenders
> Affects Versions: 1.2.9
> Reporter: Chi Lang
> Priority: Trivial
>
> TraceAppender now always put logger name as trace category when writing to
> System.Diagnostics.Trace.Write
> ie. :
> System.Diagnostics.Trace.Write(RenderLoggingEvent(loggingEvent),
> loggingEvent.LoggerName);
> This resulted in logger's name appearing twice in Trace logs if once
> use/share the same conversion for both file-based and trace appenders, eg.
> "%date [%thread] %-5level %logger - %message%"
> It would be nice to have a settable property on TraceAppender to disable
> using logger's name as trace category, ie. :
> public bool UseLoggerNameAsTraceCategory
> {
> get; set;
> }
> ...
> if (m_useLoggerNameAsTraceCategory)
> {
> System.Diagnostics.Trace.Write(RenderLoggingEvent(loggingEvent),
> loggingEvent.LoggerName);
> }
> else
> {
> System.Diagnostics.Trace.Write(RenderLoggingEvent(loggingEvent), null);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.