コード例 #1
0
        public static LoggerFormatter Get(Logger logger, FormatterSettings settings, out Func <LoggerFormatter> ctor)
        {
            FormatterCtor fctor;

            if (settings == null)
            {
                settings = new FormatterSettings(null);
                fctor    = _defaultFormatter;
            }
            else
            {
                fctor = Get(settings);
            }
            ctor = () => fctor(logger, settings);
            return(fctor(logger, settings));
        }
コード例 #2
0
        private static FormatterCtor Get(FormatterSettings settings)
        {
            string fname = settings.Formatter;

            if (!string.IsNullOrEmpty(fname))
            {
                FormatterCtor ctor;
                lock ( _loggerTypes ) {
                    if (!_loggerTypes.TryGetValue(fname, out ctor))
                    {
                        ctor = CreateCtor(fname);
                        if (ctor != null)
                        {
                            _loggerTypes.Add(fname, ctor);
                        }
                    }
                }
                if (ctor != null)
                {
                    return(ctor);
                }
            }
            return(_defaultFormatter);
        }
コード例 #3
0
 public LoggerFormatter(Logger logger, FormatterSettings settings)
 {
     Logger   = logger;
     Settings = settings;
 }