【问题标题】:log4net and intslog4net 和整数
【发布时间】:2009-12-04 09:17:47
【问题描述】:

我一直在使用 log4net 并且一直在插入额外的字段,但是我在添加 int 字段时遇到了问题。任何人都可以显示使用 int 的配置,因为我无法在他们的homepage 上找到它。

我通常只使用如下配置:

 <parameter>
        <parameterName value="@orderid" />
        <dbType value="string" />
        <size value="64" />
        <layout type="log4net.Layout.PatternLayout" />
    </parameter>

但是如果这个字段可以是一个 int,那么在日志数据库中搜索会更优化。

【问题讨论】:

    标签: logging log4net


    【解决方案1】:

    只是将其更改为 Int32 并不能解决我的问题。对于希望解决此问题的其他人,以下是解决方案:

            <parameter>
                <parameterName value="@UserID" />
                <dbType value="Int32" />
                <size value="32" />
                <layout type="log4net.Layout.RawPropertyLayout">
                    <key value="UserID" />
                </layout>
            </parameter>
    

    这也将处理 NULLs

    【讨论】:

    • 谢谢!!对于未来的读者,这也将获取 log4net.GlobalContext 中设置的值。在上面的示例(this answer)中,如果您设置 GlobalContext “UserID”(其中 UserID 是键),并且您设置了值,则此代码将获取该值。是的!!空值被处理。谢谢!
    【解决方案2】:

    dbType property 的类型为 System.Data.DbType。在那里,您可以使用 Int32 值来表示整数。

    【讨论】:

    • 查尔呢?谢谢!它没有在那里列出。谢谢!
    • @Euridice01 将是非 unicode 字符串,使用 AnsiStringAnsiStringFixedLength
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多