LogEntries без файла.config в приложении.NET

Я читаю статью о входе в систему.NET Applications, найденную здесь. Я хотел бы сделать функциональный эквивалент без использования файла.config. У кого-нибудь есть примеры кода для этого? Спасибо

2 ответа

Решение

Я думаю, что этот код неправильный... не могли бы вы проверить? Кстати, я сделал работу так:

    target.Token = "LOG_TOKEN";
    target.Ssl = false;
    target.Debug = true;
    target.Name = "Logentries";
    target.Layout = "${date:format=ddd MMM dd} ${time:format=HH:mm:ss} ${date:format=zzz yyyy} ${logger} : ${LEVEL}, ${message}";
    target.HttpPut = false;

    var config = new LoggingConfiguration();
    config.AddTarget("Logentries", target);

    var loggingRule = new LoggingRule("*", LogLevel.Debug, target);
    config.LoggingRules.Add(loggingRule);

    LogManager.Configuration = config;
    LogManager.Configuration.Reload();

Конечно, мы можем сделать это. Для nlog мы можем сделать следующее.

        class Program
        {
            public static LogentriesTarget target = new LogentriesTarget();
            private static Logger logger = LogManager.GetCurrentClassLogger();
            static void Main(string[] args)
            {
                var config = new LoggingConfiguration();
                target.Token = "LOG_TOKEN";
                target.Ssl = false;
                target.Debug = true;
                target.Name = "Logentries";
                target.Layout = "${date:format=ddd MMM dd} ${time:format=HH:mm:ss} ${date:format=zzz yyyy} ${logger} : ${LEVEL}, ${message}";
                target.HttpPut = false;
                config.AddTarget("Logentries2", target);
                var loggingRule = new LoggingRule("*", LogLevel.Debug, target);
                LogManager.Configuration.AddTarget("targetName", target);
                LogManager.Configuration.LoggingRules.Add(loggingRule);
                LogManager.Configuration.Reload();
                logger = LogManager.GetCurrentClassLogger();
            }
        }

Для log4net мы можем сделать следующее.

        class Program
        {
            private static readonly ILog logger = LogManager.GetLogger(typeof(Program));
            static void Main(string[] args)
            {
                LogentriesAppender appender = new LogentriesAppender();
                appender.Token = "YOUR_TOKEN";
                appender.Name = "LogentriesAppender";
                PatternLayout layout = new PatternLayout();
                layout.ConversionPattern = "%d{ddd MMM dd HH:mm:ss zzz yyyy} %logger %: %level%, %m,";
                layout.ActivateOptions();
                appender.Layout = layout;
                Logger l = (Logger)logger.Logger;
                l.AddAppender(appender);
                logger.Debug("Hi");
            }
        }

Наконец, другой альтернативой является использование Serilog для отправки нам данных вашего журнала.

С уважением, Стивен

Другие вопросы по тегам