log4net - почему та же самая строка MyLog.Debug не работает в одной точке запуска, но работает в другой точке? - PullRequest
0 голосов
/ 11 марта 2010

Во время запуска моего приложения WinForms я отмечаю, что есть пара моментов (до рендеринга MainForm), которые делают «MyDataSet.GetInstance ()». Для первой строки MyLog.Debug проходит через окно вывода VS2008, но для более поздней она работает и проходит.

Что может объяснить это? Какие настройки можно проверить во время отладки, чтобы увидеть, почему строка вывода для строки MyLog.Debug не появляется в окне вывода?

namespace IntranetSync
{
    public class MyDataSet
    {
        private static readonly ILog MyLog = LogManager.GetLogger(typeof(MyDataSet));

        public static MyDataSet GetInstance()
        {
            MyLog.Debug("MyDataSet GetInstance() =====================================");
            if (myDataSet == null)
            {
                myDataSet = new MyDataSet();
            }
            return myDataSet;
        }
.
.
.

PS. То, что я делал в отношении инициализации репозитория log4net, помещает следующую строку как частные переменные в классы, которые я использую, - это нормально?

    static class Program
    {
        private static readonly ILog MyLog = LogManager.GetLogger(typeof(MainForm));
.
.
.

    public class Coordinator
    {
        private static readonly ILog MyLog = LogManager.GetLogger(typeof(MainForm));
.
.
.

    public class MyDataSet
    {
        private static readonly ILog MyLog = LogManager.GetLogger(typeof(MyDataSet));
.
.
.

1 Ответ

2 голосов
/ 11 марта 2010

Я предполагаю, что первый вызов метода GetInstance происходит до хранилища log4net. Вы явно инициализируете свой репозиторий, и если да, то где?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...