Project Description

PB-LOG is a quick and easy XML logger for all kink of .NET application. You can insert log associated to a user. There're 4 kind of log: Error, Info, Warning, Event. It's developed in C# 4. There's also PB-LOG for WP7.

1) Add library to the project references

2) Initialize

Logger logger = new Logger(); // basic - default name of xml file

Logger logger = new Logger(@"C:\logger.xml"); // you can decide name of xml file

Logger logger = new Logger(true) // you can decide if users will be owners of logs. in this way, when will be deleted a user, will be deleted also their logs

Logger logger = new Logger(@"C:\logger.xml", true) // you can decide name of xml file and if users will be owners of logs 

3) Add user

User user = new User()
{            
   Username = "helloworld",
   Rule = "Administrator"

};

logger.Users.Add(user);

// another way

logger.Users.Add("pisolobill");

4) Add log

Log logUser = new Log() // log with a user
{
   LogType = LogType.Info,
   Message = "msuyu",
   User = user
};

Log logNoUser = new Log() // log without a user
{
   LogType = LogType.Info,
   Message = "msuyu"
};

logger.Logs.Add(logUser);
logger.Logs.Add(logNoUser);

// another way

logger.Logs.Add("message", "username", LogType.Info); // with user
logger.Logs.Add("message", LogType.Info) // without user

5) Users and Logs are Collection, so supports queries LINQ and other methods

if(logger.Users.Exists(u => u.Username == "username" && u.Rule == "rule"))
{
   logger.Users.Remove("username")
}

Log log = logger.Logs[2];

IEnumerable<Log> getWarnings = logger.Logs.Warnings;

IEnumerable<Log> linq = logger.Logs.Errors.Where(u => u.Rule == "Administrator");

XML RESULT

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Logs>
  <Errors />
  <Warnings />
  <Informations>
    <Info Message="msuyu" Created="08/04/2012 01:58:37" User="pisolobill" />
  </Informations>
  <Events />
  <Users>
    <User Username="helloworld" Rule="Administrator" Created="08/04/2012 01:58:07" />
  </Users>
</Logs>

Last edited Apr 29, 2012 at 10:09 PM by pisolobill, version 7

Comments

No comments yet.