c# - How to write events from multiple applications(sources) to the same event log? -


i have created custom event log , applications write same event log. can see below in image attached, distributedcom , svc ctrl mgr 2 sources writing same event log system.

multiple sources under same log file

similarly, have 2 services want write same eventlog. tried doing creating 1 event log , passing different source names 2 windows services have created. find 1 service writing log while other doesn't.

below class library created event log.

public class eventlogger {     private eventlog eventlog1 = new system.diagnostics.eventlog();      public eventlogger(string logsource)     {         if (!system.diagnostics.eventlog.sourceexists(logsource))         {             system.diagnostics.eventlog.createeventsource(logsource, "samplelog");         }         eventlog1.source = logsource;         eventlog1.log = "samplelog";     }      public void writelog(string message)     {         eventlog1.writeentry(message);     } 

created 1st windows service

public partial class service1 : servicebase {     private eventlogger.eventlogger eventlog;     public service1()     {         initializecomponent();         eventlog = new eventlogger.eventlogger("winservice1");     }      protected override void onstart(string[] args)     {         try         {             eventlog.writelog("service started in 1st");         }         catch (exception ex)         {             eventlog.writeentry(ex.tostring());         }     }      protected override void onstop()     {         eventlog.writelog("service stopped");     } } 

created 2nd windows service well, above.

public partial class service2 : servicebase {     private eventlogger.eventlogger eventlog;     public service2()     {         initializecomponent();         eventlog = new eventlogger.eventlogger("winservice2");     }      protected override void onstart(string[] args)     {         try         {             eventlog.writelog("service started in 2nd");         }         catch (exception ex)         {             eventlog.writeentry(ex.tostring());         }     }      protected override void onstop()     {         eventlog.writelog("service stopped");     } } 

service1 doesn't seem log anything, whereas, can see logs service2. might doing lot of things incorrectly here. please me in finding solution this. also, if can achieved using log4net solutions respect welcome well. in advance.

edit: also, when try stop services, service 1 fails stop , throws error. image given below.

enter image description here

edit 2: changed constructor of eventlogger class below , worked!! not entirely sure if actual cause improper functioning. , i'm not quite sure if had setting of log property either. light thrown on 1 of appreciated. understand better happened here. thanks.

string logname = "newlog"; public eventlogger(string logsource) {     if (!system.diagnostics.eventlog.sourceexists(logsource))     {         system.diagnostics.eventlog.createeventsource(logsource, logname);     }     eventlog1.source = logsource; } 


Comments

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -