2016-12-01 3 views
0
using System; 
using System.Threading.Tasks; 
using System.Data; 
using System.Data.Common; 
using System.Data.SqlClient; 
using System.DirectoryServices; 
using Microsoft.Practices.EnterpriseLibrary.Logging; 
using Microsoft.Practices.EnterpriseLibrary.Common; 
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration; 
using Microsoft.Practices.EnterpriseLibrary.Data; 
using System.Diagnostics; 
using System.Configuration; 

namespace DB_Logger_1 
{ 

/*This method for Logging to DB*/ 
public class DBLogger 
{ 
private Database dbClient = null; 
SqlConnection conn = new SqlConnection(); 
public void Log(string UserName, int EventID, string Message, TraceEventType Severity, int Priority) 
{ 
conn.ConnectionString = @"Data Source=D-DG2H6BS\MSSQLSERVER2014;Initial Catalog=DummyDB1;User ID=sa;Password=***********;"; 
conn.Open(); 
using (DbCommand cmdInsertLog = dbClient.GetStoredProcCommand("LogToDatabase")) 
{ 
try 
{ 
dbClient.AddInParameter(cmdInsertLog, "UserName", DbType.String, UserName); 
dbClient.AddInParameter(cmdInsertLog, "EventID", DbType.Int32, EventID); 
dbClient.AddInParameter(cmdInsertLog, "Message", DbType.String, Message); 
dbClient.AddInParameter(cmdInsertLog, "TraceEventType", DbType.String, Severity); 
dbClient.AddInParameter(cmdInsertLog, "Priority", DbType.String, Priority); 
dbClient.ExecuteNonQuery(cmdInsertLog); 
} 
catch (Exception ex) 
{ 
throw ex; 
} 
finally 
{ 
if (cmdInsertLog.Connection.State == ConnectionState.Open) 
{ 
cmdInsertLog.Connection.Close(); 
} 
cmdInsertLog.Dispose(); 
} 
} 
} 
} 
public class EventLogger 
{ 
public void Log(string UserName, int EventID, string Message, TraceEventType Severity, int Priority) 
{ 
LogEntry logEntry = new LogEntry(); 
logEntry.Title = Message; 
logEntry.EventId = EventID; 
logEntry.Message = Message; 
logEntry.TimeStamp = DateTime.Now; 
} 
} 
} 

Какая ошибка здесь ... Может ли этот код записывать событие в базу данных и средство просмотра событий? Предоставьте мне решения. Эта часть logtoDB может содержать ошибки. Я еще не проверял его. Исправлены ошибки, если они есть, и отправляйте мне то же самое или предлагайте мне решения только с этим кодом.Регистрация событий в базе данных и просмотра событий

+0

Вы должны указать, какое сообщение об ошибке вы получаете. Это не служба тестирования. – Daz

+0

«Программа не содержит статический основной метод, подходящий для точки входа» - это сообщение об ошибке. Работает ли это решение? – Naveenkumar

+0

Это сообщение об ошибке означает, что Visual Studio не знает, как запустить ваш код. Если, например, вы создавали программу командной строки, вы бы предоставили функцию Main() в качестве точки входа. Это не связано с приведенным выше кодом. – Daz

ответ

1

Может быть, лучшим решением будет использование готовой «библиотеки регистратора», например log4net? Вы можете использовать его легко для MS SQL logging and and Event Viewer.

Here пошаговая инструкция (или если вы знаете русский язык - here with screenshots).

Смежные вопросы