2015-10-06 2 views
2

Можно ли написать код для отслеживания журнала, написанного в C# ?. . Например:Trace C# Log Details

string filePath = @"C:\Error.txt"; 
using (StreamWriter writer = new StreamWriter(filePath, true)) 
{ 
    writer.WriteLine("Message :" + ex.Message); 
} 

Теперь я хочу, чтобы написать сообщение об исключении кода трассировки (ex.Message) без открытого error.txt (Примечание: код должен работать для трассировки любого веб-сайта, разработанный в asp.net + C#) ,

ответ

2

Конечно, есть мощный встроенный механизм для трассировки на платформе .NET. Обратитесь к документации that и MSDN. Он реализуется через статические классы, поэтому вы можете использовать его в любом месте своего кода. Первый шаг заключается в настройке трассировки слушателей с помощью кода или .config файла:

Trace.Listeners.Add(new TextWriterTraceListener("trace.log"); 

Затем, чтобы войти сообщение просто позвоните:

Trace.WriteLine(ex.ToString()); 

Если вам просто необходимо периодически проверять, если определенный веб-сайт в Интернете , вы можете написать что-то простое:

Timer t = new Timer(60000); 
t.Elapsed += (sender, e) => 
{ 
    try 
    { 
     HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create("http://google.com"); 
     using (HttpWebResponse httpRes = (HttpWebResponse) httpReq.GetResponse()) 
     { 
      if (httpRes.StatusCode != HttpStatusCode.OK) 
      { 
       File.AppendAllText(@"C:\Error.txt", 
        string.Format("Server error: {0} {1}", 
        httpRes.StatusCode, httpRes.StatusDescription)); 
      } 
     } 
    } 
    catch (Exception exc) 
    { 
     File.AppendAllText(@"C:\Error.txt", "Error: "+exc.ToString()); 
    } 
}; 
t.Start(); 

Или используйте универсальное решение для мониторинга, такое как Zabbix.

+0

Можно ли отслеживать без взаимодействия клиента. Например, веб-сайт (www.tracewebsite.com) написал в asp.net + C#. Теперь я хочу отслеживать его журнал без взаимодействия с www.tracewebsite.com. Проделайте небольшой пример. –

+0

Что вы подразумеваете под взаимодействием? Код вашего веб-сайта выполняется на сервере, поэтому все сообщения трассировки идут на файлы (или любые настроенные вами слушатели) на сервере. – cyberj0g

+0

спасибо. Я не собираюсь выполнять код на сервере. я должен выполнить его на своей машине. Это проблема. из моей системы с подключением к Интернету мне приходится отслеживать данные журнала о любом другом сайте. –