代码之家  ›  专栏  ›  技术社区  ›  b_levitt

什么控制logEvent.FormattedMessage?

  •  1
  • b_levitt  · 技术社区  · 6 年前

    MethodCallTarget target = new MethodCallTarget("MyTarget", 
         (logEvent, parms) => WriteMessage(logEvent.FormattedMessage));
    

    MethodCallTarget不包含布局参数。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Rolf Kristensen Raúl Diego    6 年前

    MethodCallTarget target = new MethodCallTarget("MyTarget", 
         (logEvent, parms) => WriteMessage(logEvent.Exception != null ? string.Concat(logEvent.FormattedMessage, " Exception: ", logEvent.Exception.ToString()) : logEvent.FormattedMessage);
    

    如果您想利用NLog布局逻辑,可以这样做:

    MethodCallTarget target = new MethodCallTarget("MyTarget", 
         (logEvent, parms) => WriteMessage(parms[0].ToString()));
    target.Parameters.Add(new MethodCallParameter("AdvancedMessage", "${message}${onexception:EXCEPTION OCCURRED\:${exception:format=tostring}}"));