This should work:
// untested
public class HostNameToUpperLayout : LayoutSkeleton
{
public override void ActivateOptions()
{
// empty
}
public override void Format(TextWriter writer, LoggingEvent loggingEvent)
{
string hostName =
(string)loggingEvent.LookupProperty(log4net:HostName);
writer.Write(hostName.ToUpper());
}
}
parameter
parameterName value=@message/
dbType value=String/
size value=4000/
layout type=Company.Application.HostNameToUpperLayout,
Company.Application /
/parameter
There are more clever ways of doing it but that should work.
From: Cankut Eskin cankutes...@gmail.com
To: Log4NET User log4net-user@logging.apache.org
Sent: Monday, June 22, 2009 9:09:37 AM
Subject: How to make a part of log message uppercase
Hello,
I'm using AdoNetAppender to log messages. I've added
%property{log4net:HostName} conversion pattern to the message parameter.
parameter
parameterName value=@message/
dbType value=String/
size value=4000/
layout type=log4net.Layout.PatternLayout
conversionPattern value=[%property{log4net:HostName}] - %message/
/layout
/parameter
Output is like
[hostname] - foo bar.
But i want the output like
[HOSTNAME] - foo bar.
How can i make the hostname uppercase using conversion patterns?
Regards,
Cankut