Конечно, есть мощный встроенный механизм для трассировки на платформе .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.
Можно ли отслеживать без взаимодействия клиента. Например, веб-сайт (www.tracewebsite.com) написал в asp.net + C#. Теперь я хочу отслеживать его журнал без взаимодействия с www.tracewebsite.com. Проделайте небольшой пример. –
Что вы подразумеваете под взаимодействием? Код вашего веб-сайта выполняется на сервере, поэтому все сообщения трассировки идут на файлы (или любые настроенные вами слушатели) на сервере. – cyberj0g
спасибо. Я не собираюсь выполнять код на сервере. я должен выполнить его на своей машине. Это проблема. из моей системы с подключением к Интернету мне приходится отслеживать данные журнала о любом другом сайте. –