は、私が希望:もちろん
...D...
代わりの
...Debug...
同一の情報のために、警告する、など私はレイアウトの${level[0]}
および他のバリエーション、運を試してみました。
は、私が希望:もちろん
...D...
代わりの
...Debug...
同一の情報のために、警告する、など私はレイアウトの${level[0]}
および他のバリエーション、運を試してみました。
あなたは少し面倒です${when}
でそれを行うことができます:
例えばを
${when:when=level=LogLevel.Trace:inner=T:else=${when:when=level=LogLevel.Debug:inner=D:else=TODO}}
それとも、いくつかのコードで "ラッパー" を追加することができます:
/// <summary>
/// Take the left characters
/// </summary>
/// <example>
/// ${left:${level}:Length=2} //[DefaultParameter]
/// ${left:Inner=${level}:Length=2}
/// ${level:Length=2} //[ambient]
/// </example>
[LayoutRenderer("left")]
[AmbientProperty("Left")]
[ThreadAgnostic]
public sealed class LeftLayoutRendererWrapper : WrapperLayoutRendererBase
{
/// <summary>
/// Gets or sets the length in characters.
/// </summary>
/// <value>Index</value>
/// <docgen category='Transformation Options' order='10' />
[DefaultValue(1)]
public int Length { get; set; }
/// <summary>
/// Post-processes the rendered message.
/// </summary>
/// <param name="text">The text to be post-processed.</param>
/// <returns>Substringed</returns>
protected override string Transform(string text)
{
if (text == null)
{
return null;
}
if (Length <= 0)
{
return String.Empty;
}
return text.Substring(0, Length);
}
}
それを登録
ConfigurationItemFactory.Default.LayoutRenderers
.RegisterDefinition("left", typeof(MyNamespace.LeftLayoutRendererWrapper));
利用状況(例えば、できるだけ早くmain()
またはapp_start()
インチ):
${left:${level}:Length=2} //or
${level:Length=2} //"ambient way"
NLog ver。 4.4.6単一文字オプションを追加:https://github.com/NLog/NLog/pull/2034 –
ありがとう、私たちは数ヶ月後にserilogに移動しました:) – bunt
機能はあなたを待っています:) –