[ 
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.

Reply via email to