【发布时间】:2019-03-12 15:58:32
【问题描述】:
我将 Serilog 与 WebApi 一起使用。我想在每条错误消息中添加用户名和类名。
这是我的代码:
public partial class Repo : BaseRepo<db>
{
public Repo(ILogger logger) : base(logger)
{
/// Not working
// Logger.ForContext("UserId", currentuser).ForContext<Repo>();
logger.ForContext("UserId", currentuser).Information("message")
}
消息呈现为:
INF message
如何让userid: <currentUser> 显示?
【问题讨论】:
-
您好,我正在使用带有 webaip 的 serilog。对于每条消息,我想在每条错误消息中添加用户名和类名。我是 serilog public partial class Repo 的新手:BaseRepo
{ public Repo(ILogger logger) : base(logger) { 不工作 // Logger.ForContext("UserId", currentuser).ForContext (); } -
Not Working是什么意思?你有什么错误吗? -
我的意思是当我写 Logger.error("Error message").I can't see username (currentuser).
-
您需要将
{Properties}添加到LoggerConfiguration中配置的格式化字符串中 -
我已经使用 PushProperty 添加属性。 LogContext.PushProperty("用户名", currentuser);注意:下面没有 using 语句。如果我不使用 using 语句 public partial class Repo : BaseRepo
{ public Repo(ILogger logger) : base(logger) { LogContext.PushProperty("User Name", currentuser);注意:下面没有 using 语句 using (LogContext.PushProperty("A", 2)) }