Re[9]: log4net
От: Spark2K Россия  
Дата: 19.10.04 10:44
Оценка: 6 (1)
Здравствуйте, TeamLeader, Вы писали:

TL>>Нуда, появилась новая ошибка


Здесь работающий пример.
Re[6]: log4net
От: Spark2K Россия  
Дата: 19.10.04 08:54
Оценка: 1 (1)
Здравствуйте, TeamLeader, Вы писали:

TL>Здравствуйте, Spark2K, Вы писали:


SK>>Здравствуйте, TeamLeader, Вы писали:


TL>>>С чем это может быть связано и как это убрать?


SK>>Может у тебя .config файл не лежит как положено или назван криво.


TL>назван он у меня TestLog4Net.config


TL>а лежит он у меня в папочке Debug


Вот-вот. А должен назваться TestLog4Net.exe.config
Могу посоветовать не заниматься такой "самодеятельностью с .config", а просто добавить Add->New Item...->Application configuration. И все будет переименовываться и копироваться самой студией.

Успеха.
log4net
От: TeamLeader  
Дата: 15.10.04 16:05
Оценка:
Кто использует сабж.
подскажите пожалуйста как подсунуть конфигурационный xml-ник

P.S. А log4net халявный или нет?
Re: log4net
От: Аноним  
Дата: 15.10.04 16:16
Оценка:
Здравствуйте, TeamLeader, Вы писали:

TL>Кто использует сабж.

TL>подскажите пожалуйста как подсунуть конфигурационный xml-ник

TL>P.S. А log4net халявный или нет?


Привет!

Халявный. http://logging.apache.org/log4net/

Вот хелп по сонфигурации: http://logging.apache.org/log4net/release/manual/configuration.html

Можешь передать файл:

XmlConfigurator.Configure(FileName);


Можешь просто положить в конфиг:


В код:

DOMConfigurator.Configure();

В config файл:


<configuration>

    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>

    <appSettings>
        <!--   User application and configured property settings go here.-->
        <!--   Example: <add key="settingName" value="settingValue"/> -->
    </appSettings>

    <log4net>
    
        <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
            <layout type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
            </layout>
            <filter type="log4net.Filter.LevelRangeFilter">
                <param name="LevelMin" value="ERROR"/>
                <param name="LevelMax" value="FATAL"/>
            </filter>            
        </appender>

        <appender name="FileAppender" type="log4net.Appender.FileAppender">
            <param name="File" value="log-file.txt" />
            <param name="AppendToFile" value="false" />
            <layout type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
            </layout>
            <filter type="log4net.Filter.LevelRangeFilter">
                <param name="LevelMin" value="INFO"/>
                <param name="LevelMax" value="FATAL"/>
            </filter>            
        </appender>
        
        
        <appender name="SMTPAppender" type="log4net.Appender.SMTPAppender">
            <param name="To" value="mail" />
            <param name="From" value="Mail" />
            <param name="Subject" value="test logging message" />
            <param name="SMTPHost" value="Server" />
            <param name="LocationInfo" value="false" />
            <param name="BufferSize" value="512" />
            <param name="Lossy" value="false" />
            
            <filter type="log4net.Filter.LevelRangeFilter">
                <param name="LevelMin" value="FATAL"/>
                <param name="LevelMax" value="FATAL"/>
            </filter>
            
            <layout type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="%n%d [%t] %-5p %c [%x] - %m%n%n%n" />
            </layout>
        </appender>        
        
   
        <root>
            <level value="INFO" />
            <appender-ref ref="FileAppender" />
            <appender-ref ref="EventLogAppender" />
            <appender-ref ref="SMTPAppender" />
        </root>
    </log4net>
    
</configuration>
Re[2]: log4net
От: TeamLeader  
Дата: 15.10.04 16:19
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, TeamLeader, Вы писали:


TL>>Кто использует сабж.

TL>>подскажите пожалуйста как подсунуть конфигурационный xml-ник

TL>>P.S. А log4net халявный или нет?


А>Привет!


А>Халявный. http://logging.apache.org/log4net/


Не ну тут то халявный, а вообще?
Re[3]: log4net
От: Аноним  
Дата: 15.10.04 17:22
Оценка:
Здравствуйте, TeamLeader, Вы писали:

TL>Здравствуйте, Аноним, Вы писали:


А>>Здравствуйте, TeamLeader, Вы писали:


TL>>>Кто использует сабж.

TL>>>подскажите пожалуйста как подсунуть конфигурационный xml-ник

TL>>>P.S. А log4net халявный или нет?


А>>Привет!


А>>Халявный. http://logging.apache.org/log4net/


TL>Не ну тут то халявный, а вообще?


ДА. Почитайте лицензию, если не верите
Re[4]: log4net
От: TeamLeader  
Дата: 15.10.04 17:34
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, TeamLeader, Вы писали:


TL>>Здравствуйте, Аноним, Вы писали:


А>>>Здравствуйте, TeamLeader, Вы писали:


TL>>>>Кто использует сабж.

TL>>>>подскажите пожалуйста как подсунуть конфигурационный xml-ник

TL>>>>P.S. А log4net халявный или нет?


А>>>Привет!


А>>>Халявный. http://logging.apache.org/log4net/


TL>>Не ну тут то халявный, а вообще?


А>ДА. Почитайте лицензию, если не верите


В такое счастье мложно повер ить
Re[2]: log4net
От: TeamLeader  
Дата: 15.10.04 17:44
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, TeamLeader, Вы писали:


TL>>Кто использует сабж.

TL>>подскажите пожалуйста как подсунуть конфигурационный xml-ник

TL>>P.S. А log4net халявный или нет?


А>Привет!


А>Халявный. http://logging.apache.org/log4net/


А>Вот хелп по сонфигурации: http://logging.apache.org/log4net/release/manual/configuration.html


А>Можешь передать файл:


А>XmlConfigurator.Configure(FileName);


Такая функция в хэлпе отсутствует


А>Можешь просто положить в конфиг:


А>

А>В код:

А>DOMConfigurator.Configure();

А>В config файл:

А как этот конфиг файл должен называться??? И где лежать???


А><configuration>

А>    <configSections>
А>        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
А>    </configSections>

А>    <appSettings>
А>        <!--   User application and configured property settings go here.-->
А>        <!--   Example: <add key="settingName" value="settingValue"/> -->
А>    </appSettings>

А>    <log4net>
    
А>        <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
А>            <layout type="log4net.Layout.PatternLayout">
А>                <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
А>            </layout>
А>            <filter type="log4net.Filter.LevelRangeFilter">
А>                <param name="LevelMin" value="ERROR"/>
А>                <param name="LevelMax" value="FATAL"/>
А>            </filter>            
А>        </appender>

А>        <appender name="FileAppender" type="log4net.Appender.FileAppender">
А>            <param name="File" value="log-file.txt" />
А>            <param name="AppendToFile" value="false" />
А>            <layout type="log4net.Layout.PatternLayout">
А>                <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
А>            </layout>
А>            <filter type="log4net.Filter.LevelRangeFilter">
А>                <param name="LevelMin" value="INFO"/>
А>                <param name="LevelMax" value="FATAL"/>
А>            </filter>            
А>        </appender>
        
        
А>        <appender name="SMTPAppender" type="log4net.Appender.SMTPAppender">
А>            <param name="To" value="mail" />
А>            <param name="From" value="Mail" />
А>            <param name="Subject" value="test logging message" />
А>            <param name="SMTPHost" value="Server" />
А>            <param name="LocationInfo" value="false" />
А>            <param name="BufferSize" value="512" />
А>            <param name="Lossy" value="false" />
            
А>            <filter type="log4net.Filter.LevelRangeFilter">
А>                <param name="LevelMin" value="FATAL"/>
А>                <param name="LevelMax" value="FATAL"/>
А>            </filter>
            
А>            <layout type="log4net.Layout.PatternLayout">
А>                <param name="ConversionPattern" value="%n%d [%t] %-5p %c [%x] - %m%n%n%n" />
А>            </layout>
А>        </appender>        
        
   
А>        <root>
А>            <level value="INFO" />
А>            <appender-ref ref="FileAppender" />
А>            <appender-ref ref="EventLogAppender" />
А>            <appender-ref ref="SMTPAppender" />
А>        </root>
А>    </log4net>
    
А></configuration>
А>
Re: log4net
От: TeamLeader  
Дата: 15.10.04 17:59
Оценка:
Здравствуйте, TeamLeader, Вы писали:

TL>Кто использует сабж.

TL>подскажите пожалуйста как подсунуть конфигурационный xml-ник

TL>P.S. А log4net халявный или нет?


Делаю вот так


namespace testApp
{
    /// <summary>
    /// Example of how to simply configure and use log4net
    /// </summary>
    public class LoggingExample
    {
        /// <summary>
        /// Static constructor used to initialise the logging before 
        /// the main class loads, i.e. before the Main() method is called.
        /// </summary>
        static LoggingExample()
        {
            // Initialise the log4net system using the DOM Configurator.
            // The config settings are read from the application's .config file.
            FileInfo fName = new FileInfo("config.xml");
            DOMConfigurator.Configure(fName);
        }

        // Create a logger for use in this class
        private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(LoggingExample));

        // Cache the debug enabled state
        private static readonly bool isDebugEnabled = log.IsDebugEnabled;

        // Cache the info enabled state
        private static readonly bool isInfoEnabled = log.IsInfoEnabled;


        /// <summary>
        /// Application entry point
        /// </summary>
        /// <param name="args">command line arguments</param>
        static void Main(string[] args)
        {
            // Log an info level message
            if (isInfoEnabled) log.Info("Application [testApp] Start");

            // Log a debug message. Test if debug is enabled before
            // attempting to log the message. This is not required but
            // can make running without logging faster.
            if (isDebugEnabled) log.Debug("This is a debug message");

            try
            {
                Bar();
            }
            catch(Exception ex)
            {
                log.Error("Exception thrown from method Bar", ex);
            }

            log.Error("Hey this is an error!");

            // Push a message on to the Nested Diagnostic Context stack
            using(log4net.NDC.Push("NDC_Message"))
            {
                log.Warn("This should have an NDC message");

                // Set a MApped Diagnostic Context value  
                log4net.MDC.Set("auth", "none");
                log.Warn("This should have an MDC message");

            } // The NDC message is popped off the stack at the end of the using {} block

            // Log an info level message
            if (isInfoEnabled) log.Info("Application [testApp] End");
        }

        // Helper methods to demonstrate location information
        // and nested exceptions

        static void Bar()
        {
            Goo();
        }

        static void Foo()
        {
            throw new Exception("This is an Exception");
        }

        static void Goo()
        {
            try
            {
                Foo();
            }
            catch(Exception ex)
            {
                throw new ArithmeticException("Failed in Goo. Calling Foo. Inner Excpetion provided", ex);
            }
        }

    }

}



Ни фига, файл в котором должен быть записан лог не создается
Re[2]: log4net
От: Spark2K Россия  
Дата: 15.10.04 19:59
Оценка:
Здравствуйте, TeamLeader, Вы писали:
TL>Ни фига, файл в котором должен быть записан лог не создается

Короче,

Консольное приложение

using System;
using log4net;

namespace TestLog4Net
{
    public class Application
    {
        readonly static ILog _log = LogManager.GetLogger(typeof(Application));

        public static void Main(string[] args)
        {
            log4net.Config.DOMConfigurator.Configure();

            _log.Fatal("Hello, it's fatal message!");
            _log.Error("Hello, it's error message!");
            _log.Warn("Hello, it's warn message!");
            _log.Info("Hello, it's info message!");
            _log.Debug("Hello, it's debug message!");
        }
    }
}

к нему app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>
    <log4net>
        <appender name="FileAppender" type="log4net.Appender.FileAppender">
            <param name="File" value="log-file.txt" />
            <param name="AppendToFile" value="false" />
            <layout type="log4net.Layout.PatternLayout">
                <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
            </layout>
        </appender>
        <root>
            <level value="INFO" />
            <appender-ref ref="FileAppender" />
        </root>
    </log4net>
</configuration>

Запускаем, создается файл log-file.txt

2004-10-15 23:53:36,328 [3684] FATAL TestLog4Net.Application [] — Hello, it's fatal message!
2004-10-15 23:53:36,343 [3684] ERROR TestLog4Net.Application [] — Hello, it's error message!
2004-10-15 23:53:36,343 [3684] WARN TestLog4Net.Application [] — Hello, it's warn message!
2004-10-15 23:53:36,343 [3684] INFO TestLog4Net.Application [] — Hello, it's info message!

Re[3]: log4net
От: TeamLeader  
Дата: 19.10.04 08:31
Оценка:
Здравствуйте, Spark2K, Вы писали:

SK>Здравствуйте, TeamLeader, Вы писали:

TL>>Ни фига, файл в котором должен быть записан лог не создается

SK>Короче,


SK>Консольное приложение


SK>
SK>using System;
SK>using log4net;

SK>namespace TestLog4Net
SK>{
SK>    public class Application
SK>    {
SK>        readonly static ILog _log = LogManager.GetLogger(typeof(Application));

SK>        public static void Main(string[] args)
SK>        {
SK>            log4net.Config.DOMConfigurator.Configure();

SK>            _log.Fatal("Hello, it's fatal message!");
SK>            _log.Error("Hello, it's error message!");
SK>            _log.Warn("Hello, it's warn message!");
SK>            _log.Info("Hello, it's info message!");
SK>            _log.Debug("Hello, it's debug message!");
SK>        }
SK>    }
SK>}
SK>

SK>к нему app.config
SK>
SK><?xml version="1.0" encoding="utf-8" ?>
SK><configuration>
SK>    <configSections>
SK>        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
SK>    </configSections>
SK>    <log4net>
SK>        <appender name="FileAppender" type="log4net.Appender.FileAppender">
SK>            <param name="File" value="log-file.txt" />
SK>            <param name="AppendToFile" value="false" />
SK>            <layout type="log4net.Layout.PatternLayout">
SK>                <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
SK>            </layout>
SK>        </appender>
SK>        <root>
SK>            <level value="INFO" />
SK>            <appender-ref ref="FileAppender" />
SK>        </root>
SK>    </log4net>
SK></configuration>
SK>


Вот такую ошибку он выдает мне после отработки такого приложения:


log4net:ERROR No appenders could be found for category (TestLog4Net.Application)
.
log4net:ERROR Please initialize the log4net system properly.


С чем это может быть связано и как это убрать?
Re[4]: log4net
От: Spark2K Россия  
Дата: 19.10.04 08:38
Оценка:
Здравствуйте, TeamLeader, Вы писали:

TL>С чем это может быть связано и как это убрать?


Может у тебя .config файл не лежит как положено или назван криво.
Re[5]: log4net
От: TeamLeader  
Дата: 19.10.04 08:49
Оценка:
Здравствуйте, Spark2K, Вы писали:

SK>Здравствуйте, TeamLeader, Вы писали:


TL>>С чем это может быть связано и как это убрать?


SK>Может у тебя .config файл не лежит как положено или назван криво.


назван он у меня TestLog4Net.config

а лежит он у меня в папочке Debug
Re[7]: log4net
От: TeamLeader  
Дата: 19.10.04 09:12
Оценка:
Здравствуйте, Spark2K, Вы писали:

SK>Здравствуйте, TeamLeader, Вы писали:


TL>>Здравствуйте, Spark2K, Вы писали:


SK>>>Здравствуйте, TeamLeader, Вы писали:


TL>>>>С чем это может быть связано и как это убрать?


SK>>>Может у тебя .config файл не лежит как положено или назван криво.


TL>>назван он у меня TestLog4Net.config


TL>>а лежит он у меня в папочке Debug


SK>Вот-вот. А должен назваться TestLog4Net.exe.config

SK>Могу посоветовать не заниматься такой "самодеятельностью с .config", а просто добавить Add->New Item...->Application configuration. И все будет переименовываться и копироваться самой студией.

SK>Успеха.


log4net:ERROR No appender named [FileAppender] could be found.
log4net:ERROR No appenders could be found for category (TestLog4Net.Application)
.
log4net:ERROR Please initialize the log4net system properly.


Нуда, появилась новая ошибка
Re[8]: log4net
От: TeamLeader  
Дата: 19.10.04 09:43
Оценка:
SK>>Вот-вот. А должен назваться TestLog4Net.exe.config
SK>>Могу посоветовать не заниматься такой "самодеятельностью с .config", а просто добавить Add->New Item...->Application configuration. И все будет переименовываться и копироваться самой студией.

SK>>Успеха.


TL>log4net:ERROR No appender named [FileAppender] could be found.

TL>log4net:ERROR No appenders could be found for category (TestLog4Net.Application)
TL>.
TL>log4net:ERROR Please initialize the log4net system properly.


TL>Нуда, появилась новая ошибка


причем если я делаю BasicConfigurator.Config() то все ок проходит, только на консоль все выводит, а это не прикольно
Re: Еще оди вопрос по теме
От: TL  
Дата: 15.06.07 13:43
Оценка:
Использую log4net, задействовал авто-ротацию логов (RollingFileAppender). При этом получается, что имя файла лога за текущий день имеет вид Application.log, за предыдущие Application.logYYYYMMDD. Можно ли сделать так, чтобы имя лога за текущий день и все предыдущие имело вид ApplicationYYYYMMDD.log. Такая возможность для log4net вообще существует?
Re[2]: Еще оди вопрос по теме
От: TL  
Дата: 19.06.07 14:01
Оценка:
Здравствуйте, TL, Вы писали:

TL>Использую log4net, задействовал авто-ротацию логов (RollingFileAppender). При этом получается, что имя файла лога за текущий день имеет вид Application.log, за предыдущие Application.logYYYYMMDD. Можно ли сделать так, чтобы имя лога за текущий день и все предыдущие имело вид ApplicationYYYYMMDD.log. Такая возможность для log4net вообще существует?


up
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.