Как сделать main как клиентский dll, а класс logger должен работать как сервис - PullRequest
0 голосов
/ 18 августа 2010

используя Систему;using System.Collections.Generic;использование System.Linq;using System.Text;

clogger пространства имен {class Program {static void Main (string [] args) {CLogger.Trace ("my class");CLogger.Error ( "сообщение");CLogger.Warning ("война");

    }
}

using System;using System.Collections.Generic;использование System.Linq;используя System.Text;using System.IO;

clogger пространства имен {class CLogger {static FileStream fs = new FileStream (@ "c: \ vijay \ mcb.txt", FileMode.OpenOrCreate, FileAccess.Write);статический StreamWriter m_streamwriter = новый StreamWriter (фс);

    public static void Trace(string p)
    {
        m_streamwriter.WriteLine("Trace(string p)");


    }

    public static void Error(string p)
    {
        m_streamwriter.WriteLine("Error(string p)");
        m_streamwriter.BaseStream.Seek(0, SeekOrigin.End);
        m_streamwriter.WriteLine("File writer operation starts: ");
        m_streamwriter.WriteLine("{0} {1}", DateTime.Now.ToLongTimeString(), DateTime.Now.ToLongDateString());

    }

    public static void Warning(string p)
    {
        m_streamwriter.WriteLine("Warning(string p)");
        m_streamwriter.Flush();
    }

}

}

1 Ответ

1 голос
/ 18 августа 2010

Если вы хотите войти в систему с помощью .Net, проверьте Log4Net (и пользовательский TraceListener, если вы не хотите, чтобы ваш код зависел от стороннего программного обеспечения).Log4Net - проект с открытым исходным кодом, и он часто используется, когда дело доходит до регистрации.Я нашел этот учебник весьма полезным, хотя официальный сайт также предоставит вам много информации, но мне было проще начать.Между прочим, большим плюсом Log4Net, на мой взгляд, является то, что если вы когда-нибудь решите, что хотите войти в XML-файл, это простое изменение в вашем app.config, то есть отсутствие написания дополнительного кода.

Почему выхотите запустить свой регистратор как сервис?Если вы записываете только в локальный TXT-файл, l4n выполнит эту работу, в противном случае вы все равно можете написать свой собственный удаленный appender, а затем написать socketlistener или wcf udp listener, который запишет ваши данные в постоянное место.

...