Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NLog重命名旧文件更改原始文件名_C#_Asp.net_.net_Logging_Nlog - Fatal编程技术网

C# NLog重命名旧文件更改原始文件名

C# NLog重命名旧文件更改原始文件名,c#,asp.net,.net,logging,nlog,C#,Asp.net,.net,Logging,Nlog,我正在局域网环境中的Asp.net framework应用程序中使用Nlog。 我有10个使用该应用程序的不同客户端。我的目标是拥有不同的日志文件,每个客户端一个。我的Nlog配置是: <target name="LogFile" xsi:type="File" fileName="D:\logs\${var:idClient}.txt" keepFileOpen="true"

我正在局域网环境中的Asp.net framework应用程序中使用Nlog。 我有10个使用该应用程序的不同客户端。我的目标是拥有不同的日志文件,每个客户端一个。我的Nlog配置是:

<target name="LogFile"
    xsi:type="File"
    fileName="D:\logs\${var:idClient}.txt"
    keepFileOpen="true"
    archiveFileName="D:\logs\Old\${var:idClient}_{#}.txt"
    archiveDateFormat="yyyyMMdd"
    archiveNumbering="Date"
    archiveEvery="Day"
    layout="${var:idClient}|${longdate}|${level:uppercase=true}|${callsite:fileName=false:includeSourcePath=false}|${message}"/>
</targets>
我的问题是,旧文件名与原始日志文件的客户端id不同。如何保持相同的客户端id并仅添加数据


谢谢。

NLog配置变量是整个应用程序的全局变量。为每个请求修改它们不是一个好主意,除非您承诺一次只能有一个请求

请考虑将NuGET包添加到项目中,并更改文件集以使用该文件名布局:


你好,Luke,“旧文件名”和“原始日志文件”是什么?试着更好地解释你的问题,也许用一个例子来帮助社区帮助你
protected void Application_AcquireRequestState(object sender, EventArgs e)
{
        HttpContext context = HttpContext.Current;

        string idClient= string.Empty;
        if (context.Session == null || context.Session["ClientId"] == null ||
            string.IsNullOrEmpty(context.Session["ClientId"].ToString()))
            idClient= "Client ID Default";
        else
            idClient= System.Web.HttpContext.Current.Session["ClientId"]?.ToString();

        NLog.LogManager.Configuration.Variables["idClient"] = idClient;
}