客户端 ip 地址的 log4net 2.0.8 模式

log4net 2.0.8 pattern for client ip address

我尝试记录传入请求的 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

小写 %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