Avatar of fwsteal
fwsteal

asked on 

event log - EventLogEntryType

How do I set the EventLogEntryType based on the type of error?

I tried the following but am getting errors:




if (WhoIsEligible(MyUserID) == false)
 {
  //functionName, MyErrorContent, case
  LogErrorWriter("WhoIsEligible", "User: " + MyUserID + " is not eligible for the upgrade.", 3);
  //redirect to error page
  Server.Transfer("error.aspx");
 }


protected void LogErrorWriter(String FunctionName, String MyErrorContent, int32 intEV)
 {
  if (!EventLog.SourceExists("Intranet.AppName")) //
   {
      EventLog.CreateEventSource(FunctionName, "Intranet.AppName");
   }
   //determine which event log entry type
    switch (intEV)
     {
      case 1:
       myerrornow = "Error";
       break;
      case 2:
       myerrornow = FailureAudit;
       break;
      case 3:
       myerrornow = Information;
       break;
      case 4:
       myerrornow = SuccessAudit;
       break;
      case 5:
       myerrornow = Warning;
       break;
     }
  //write to log
  EventLog log = new EventLog("Intranet.AppName");
  log.Source = "MyDeviceUpgrade." + FunctionName;
  log.WriteEntry(MyErrorContent, EventLogEntryType.myerrornow);
 }
C#

Avatar of undefined
Last Comment
fwsteal
Avatar of vo1d
vo1d
Flag of Germany image

change your switch statement like this:


EventLogEntryType type;            
switch (intEV)
{
case 1:
     type = EventLogEntryType.Error;
     break;
case 2:
     type = EventLogEntryType.FailureAudit;
     break;
case 3:
     type = EventLogEntryType.Information;
     break;
case 4:
     type = EventLogEntryType.SuccessAudit;
     break;
case 5:
     type = EventLogEntryType.Warning;
     break;
}

change your writeentry line like this:
log.WriteEntry(MyErrorContent, type);

Avatar of fwsteal
fwsteal

ASKER

i did the following and got an error:


if (WhoIsEligible(MyUserID) == false)
 {
  //functionName, MyErrorContent, case
  LogErrorWriter("WhoIsEligible", "User: " + MyUserID + " is not eligible for the upgrade.", 3);
  //redirect to error page
  Server.Transfer("error.aspx");
 }


protected void LogErrorWriter(String FunctionName, String MyErrorContent, Int32 intEV)
 {
  if (!EventLog.SourceExists("Intranet.AppName")) //
   {
      EventLog.CreateEventSource(FunctionName, "Intranet.AppName");
   }
   //determine which event log entry type
    EventLogEntryType type;            
    switch (intEV)
     {
      case 1:
      type = EventLogEntryType.Error;
      break;
      case 2:
      type = EventLogEntryType.FailureAudit;
      break;
      case 3:
      type = EventLogEntryType.Information;
      break;
      case 4:
      type = EventLogEntryType.SuccessAudit;
      break;
      case 5:
      type = EventLogEntryType.Warning;
      break;
     }
  //write to log
  EventLog log = new EventLog("Intranet.AppName");
  log.Source = "MyDeviceUpgrade." + FunctionName;
  log.WriteEntry(MyErrorContent, type);
  //log.WriteEntry(MyErrorContent, EventLogEntryType.myerrornow);
 }



Error      Use of unassigned local variable 'type'
ASKER CERTIFIED SOLUTION
Avatar of vo1d
vo1d
Flag of Germany image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Avatar of fwsteal
fwsteal

ASKER

if used as above I get the following:

A local variable named 'type' is already defined in this scope --
case 1:
                //type = EventLogEntryType.Error;
                EventLogEntryType type = EventLogEntryType.Error;
                break;
            case 2:
                //type = EventLogEntryType.FailureAudit;
                EventLogEntryType type = EventLogEntryType.FailureAudit;
                break;
            case 3:
                //type = EventLogEntryType.Information;
                EventLogEntryType type = EventLogEntryType.Information;
                break;
            case 4:
                //type = EventLogEntryType.SuccessAudit;
                EventLogEntryType type = EventLogEntryType.SuccessAudit;
                break;
            case 5:
                //type = EventLogEntryType.Warning;
                EventLogEntryType type = EventLogEntryType.Warning;
                break;

The name 'type' does not exist in the current context --- log.WriteEntry(MyErrorContent, type);
Avatar of fwsteal
fwsteal

ASKER

duh; my error on the above
C#
C#

C# is an object-oriented programming language created in conjunction with Microsoft’s .NET framework. Compilation is usually done into the Microsoft Intermediate Language (MSIL), which is then JIT-compiled to native code (and cached) during execution in the Common Language Runtime (CLR).

98K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo