我试图记录传入请求的IP地址。我尝试了以下配置,但是它对我来说不起作用,它以“ DEBUG”身份登录。
Global.aspx
void Application_BeginRequest(object sender, EventArgs e)
{
log4net.ThreadContext.Properties["addr"] = Request.UserHostAddress;
}
RollingFileAppender
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%p{addr} %date [%thread] %-5level %logger - %message%newline"/>
</layout>
日志看起来像这样
DEBUG 2018-11-20 06:22:50,328 [40] DEBUG Conference - loging successfully
答案 0 :(得分:1)
小写%p
是%level
的快捷方式。
要输出自定义属性,应使用大写%P
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%P{addr} %date [%thread] %-5level %logger - %message%newline"/>
</layout>
或完整关键字%property
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%property{addr} %date [%thread] %-5level %logger - %message%newline"/>
</layout>
更多信息,请访问Log4net
reference。