我有個問題。
我有以下代碼(在 C# 中):
public static void Warning(string log)
{
Serilog.Log.Warning(log);
}
我想傳遞一個看起來像這樣的值:
Serilog.Log.Warning("Checked out order {0} for ${1:C}", order.Id, order.Total);
有什么方法可以從 Serilog 的包裝器傳遞插值字串(及其引數),以便我可以從 MessageTemplate 中受益?
uj5u.com熱心網友回復:
假設您想在 周圍有一個包裝器Log.Warning,那么該方法應該有一個訊息和一個引數:
public static void Warning(string msg, params object[] args)
{
Serilog.Log.Warning(msg, args);
}
用法將是:
MyLogWrapper.Warning("Checked out order {0} for ${1:C}", order.Id, order.Total);
考慮在訊息中使用命名引數以充分利用完全結構化的日志記錄:
MyLogWrapper.Warning("Checked out order {OrderId} for ${OrderTotal:C}", order.Id, order.Total);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/337226.html
上一篇:列舉的序列化結果為int
