log4net %属性不起作用

2024-01-25

我有一个小型测试项目,代码如下:

class Program
{
    static void Main(string[] args)
    {
        log4net.GlobalContext.Properties["logFileName"] = "log.txt";
        log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo("log4net.xml"));

        log4net.ILog logger = log4net.LogManager.GetLogger("Tests");

        logger.Debug("Test message");
    }
}

My log4net.xml配置文件有以下内容:

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
        <file value="%property{logFileName}" />
        <appendToFile value="true" />
        <rollingStyle value="Size" />
        <maxSizeRollBackups value="10" />
        <maximumFileSize value="100KB" />
        <staticLogFileName value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%utcdate{ISO8601} [%level][%logger] %message%newline" />
        </layout>
    </appender>
    <root>
        <level value="ALL" />
        <appender-ref ref="RollingFileAppender" />
    </root>
</log4net>

我的问题是为什么 log4net 创建具有名称的文件%属性{日志文件名}并且不将其替换为log.txt?

log4net库取自 NuGet(Id:log4net 版本:2.0.3)。


请在您的 xml 配置中使用它

<file type="log4net.Util.PatternString" value=".\%property{logFileName}" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

log4net %属性不起作用 的相关文章

随机推荐

  • Select2 占位符问题

    我有一个 Select2 多选 html 元素 渲染时不显示占位符 但如果我选择并删除该项目 则会显示占位符 我不知道如何让它发挥作用 请指教 最初 选择时 移除物品后 Code Html DropDownListFor m gt m Ve
  • sizeof(array) 在运行时如何工作?

    我读过 C 中的 sizeof 运算符是在编译时解释的 并且由于在编译时编译器知道数组大小及其类型 因此 sizeof 能够计算数组占用的字节数 但是 sizeof 如何适用于以下代码 include
  • 在 SQL 中聚合

    我有一个看起来像这样的表 Conversion Date User Name Last Date Touch Touch Count 7 15 2017 A 6 17 2017 1 7 16 2017 B 6 24 2017 2 7 19
  • GCDAsyncSocket 服务器仅在第一次接收数据

    每次当我按下发送按钮时客户端都会发送消息 但服务器仅在第一次接收消息 服务器有什么问题 Server void viewDidLoad super viewDidLoad asyncSocket GCDAsyncSocket alloc i
  • AngularJS 在工厂和控制器之间跨模块共享数据

    我有一个 angularjs 应用程序 它有几个模块 主要模块如下所示 var app angular module mainMod apiService app controller MainCtrl function Socket sc
  • 如何使用 Terraform 的文件配置程序从本地计算机复制到虚拟机?

    我是 Terraform 的新手 到目前为止 我已成功在 Azure 上启动并运行了基本的 VM 加上资源管理器修剪 我想到的下一个任务是让 Terraform 将文件从本地计算机复制到新创建的实例中 理想情况下 我正在寻找一种解决方案 每
  • 无法连接到 localhost/127.0.0.1 android

    我是 android 开发的新手 并尝试通过改造库调用 android 中的本地 NET Web api 服务 在 IIS 上启动我的 Web api 后 我收到此错误无法连接到 localhost 127 0 0 1 android 当我
  • 使用 JavaScript 获取用户代理

    我想要一个可以获取用户的用户代理并将其支持到属性的脚本 我正在制作网站问题联系表 我通常需要知道用户使用的浏览器 如何检测用户代理字符串并将其支持为输入元素的值 我的 html 看起来像这样
  • 混合运行时是可行的解决方案吗?

    在我的公司 我们最近从 VC9 切换到 VC10 我们迁移了我们的项目 但是负责人告诉我们 我们必须在我们的生产机器上保留一些用 VC9 编译的基本通用 DLL 一段时间 这些 DLL 使用自定义结构 其中一些包含std vector st
  • 在 C++ 的条件或控制语句中声明和初始化变量

    在斯特鲁斯特鲁普的C 编程语言 特别版 第 3 版 Stroustrup 写道 在控制语句的条件中声明和初始化变量不仅是允许的 而且是鼓励的 他写道 他鼓励这样做 因为它将变量的范围缩小到仅需要它们的范围 所以像这样的事情 if int i
  • 依赖 Windows 句柄的类型作为指针可以吗?

    Windows 句柄有时很烦人 需要记得在之后进行清理 使用创建的笔和画笔执行 GDI 就是一个很好的例子 RAII 解决方案很棒 但是为每种不同类型的手柄制作一个完整的 五规则 RAII 类真的那么好吗 当然不是 我能看到的最好的结果是一
  • 为什么 gcc 4.1 + gcov 报告 100% 分支覆盖率,而较新的(4.4、4.6、4.8)报告“p = new class;”为 50%线?

    当 gcc 4 1 使用 gcov 下一行时 p new Class 据报告 分支覆盖率为 100 为什么使用 gcc 4 4 及更高版本同一行报告为 p new Class 50 branch coverage 我可以为较新的 gcc 版
  • 用一个简单的句子来说,出口和引用出口有什么区别?

    出口是否连接到子视图 引用出口是否连接到内容 是这样吗 术语 引用出口 是指引用或指向当前对象的另一个对象中的出口 举个例子 假设您有一个笔尖 其中有一个文件所有者和一个 UITableView 等 为了使 tableview 工作 它有一
  • 如何重新排列弦方程?

    我需要开发一个程序来求解线性方程 节目 首先读取一个整数n这是方程的数量 然后程序读取n包含方程的行 例如 程序的输入如下 3 2x1 3x2 4x3 16 1x1 2x2 1x3 8 3x1 1x2 2x3 13 任何操作都应该首先将每个
  • JavaScript 碰撞检测

    我正在尝试用 javascript 制作一个贪吃蛇游戏 但我在碰撞检测方面遇到了困难 到目前为止 我已经尝试了各种方法 但在绝望中 我决定存储每帧片段的所有位置 然后在制作下一帧动画之前检查是否有重复项 不幸的是 这种方法也没有被证明是成功
  • 列表列,将列表转换为字符串作为新列

    我有一个包含一列列表的数据框 可以使用以下命令创建 import pandas as pd lists 1 1 2 12 6 ABC 2 1000 4 z a create test dataframe df pd DataFrame fr
  • 我可以在redmine中创建跨项目源参考吗?

    如果您有两个以某种方式连接的独立项目 如何引用其他项目的来源 为了引用您自己的项目的源代码 您可以使用 source some file 但由于我想引用另一个项目中的代码 我的想法是我可以编写如下内容 other project sourc
  • Kotlin 中的 IntArray 与 Array

    我不确定有什么区别IntArray and an Array
  • C# 中的跨线程事件处理

    我正在使用一个框架 该框架在单独的线程中运行自己的事件调度程序 该框架可能会生成一些事件 class SomeDataSource public event OnFrameworkEvent void FrameworkCallback T
  • log4net %属性不起作用

    我有一个小型测试项目 代码如下 class Program static void Main string args log4net GlobalContext Properties logFileName log txt log4net