Beispiel #1
0
        /// <summary>
        /// Register a custom layout renderer with a callback function <paramref name="layoutMethod"/>. The callback receives the logEvent and the current configuration.
        /// </summary>
        /// <param name="setupBuilder">Fluent interface parameter.</param>
        /// <param name="name">Name of the layout renderer - without ${}.</param>
        /// <param name="layoutMethod">Callback that returns the value for the layout renderer.</param>
        /// <param name="options">Options of the layout renderer.</param>
        public static ISetupExtensionsBuilder RegisterLayoutRenderer(this ISetupExtensionsBuilder setupBuilder, string name, Func <LogEventInfo, LoggingConfiguration, object> layoutMethod, LayoutRenderOptions options)
        {
            FuncLayoutRenderer layoutRenderer = Layout.CreateFuncLayoutRenderer(layoutMethod, options, name);

            setupBuilder.LogFactory.ServiceRepository.ConfigurationItemFactory.GetLayoutRenderers().RegisterFuncLayout(name, layoutRenderer);
            return(setupBuilder);
        }
Beispiel #2
0
 /// <summary>
 /// Register a custom layout renderer with a callback function <paramref name="layoutMethod"/>. The callback receives the logEvent.
 /// </summary>
 /// <param name="setupBuilder">Fluent interface parameter.</param>
 /// <param name="name">Name of the layout renderer - without ${}.</param>
 /// <param name="layoutMethod">Callback that returns the value for the layout renderer.</param>
 /// <param name="options">Options of the layout renderer.</param>
 public static ISetupExtensionsBuilder RegisterLayoutRenderer(this ISetupExtensionsBuilder setupBuilder, string name, Func <LogEventInfo, object> layoutMethod, LayoutRenderOptions options)
 {
     return(RegisterLayoutRenderer(setupBuilder, name, (info, configuration) => layoutMethod(info), options));
 }