【发布时间】:2021-02-04 07:56:01
【问题描述】:
我正在局域网环境中的 Asp.net 框架应用程序中使用 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>
在 Global.asax 中:
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;
}
我的问题是旧文件名与原始日志文件的客户端 ID 不同。如何维护相同的客户端 ID 并仅添加数据?
谢谢。
【问题讨论】:
-
嗨卢克,“旧文件名”和“原始日志文件”是什么?尝试更好地解释您的问题,也许可以举个例子来帮助社区帮助您
标签: c# asp.net .net logging nlog