c#-4.0 - 如何使用 log4net 在 AppData 文件夹中创建文件

标签 c#-4.0 log4net app-config log4net-configuration

如何在 appData 文件夹中创建日志文件。路径是 C:\Users\MYNAME\AppData\Roaming\Project\My Project\Application。我的项目一开始,项目文件夹就会在这个路径上创建,这个路径是硬编码的。如何使用 log4net 在此文件夹中添加我的日志文件?
我在配置文件中进行了更改

<?xml version="1.0"?>
<configuration>
<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
    <appender name="Console" type="log4net.Appender.ConsoleAppender">
        <layout type="log4net.Layout.PatternLayout">
            <!-- Pattern to output the caller's file name and line    number -->
            <conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" />
        </layout>
    </appender>
    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">

        <file value="${APPDATA}\\Roaming\\Project\\My Project\\Application\\Log.txt"/>
        <appendToFile value="true" />
        <maximumFileSize value="100KB" />
        <maxSizeRollBackups value="10" />
        <layout type="log4net.Layout.PatternLayout">            
            <conversionPattern value="%level %thread %logger - %message%newline" />
        </layout>
    </appender>
    <root>
        <level value="ALL" />
        <appender-ref ref="Console" />
        <appender-ref ref="RollingFile" />
    </root>
</log4net>
<startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<system.serviceModel>
    <bindings />
    <client />
</system.serviceModel>
 </configuration>

这不会在此文件夹中创建任何文件。并且所有权限都被授予管理员。

最佳答案

似乎您的做法是正确的,但是在某些情况下,变量的大小写似乎有所不同:An other question on the subject

您可以尝试:${AppData}作品

关于c#-4.0 - 如何使用 log4net 在 AppData 文件夹中创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24136199/

相关文章:

.net - 如何以 2 个精度转换为 double - 点后的字符串?

.net - 如何从头开始以编程方式配置 log4net(无配置)

datetime - Log4Net - 添加时间记录日期时间

.net - 下次如何加载动态创建的设置属性?

java.util.logging.config

c# - 可以在 C# 和 LINQ Lambda 表达式中使用 "in"类型语句吗?

c#-4.0 - TPL TaskFactory.FromAsync 与具有阻塞方法的任务

mongodb - 有没有人能够成功地使用来自 albahari.com 的 PredicateBuilder 来对抗 MongoDB?

无论如何,NHibernate 消息都会发送到控制台

c# - 在运行时修改 app.config <system.diagnostics> 部分