Tom - 2013-05-29

Tethys.Logging has move to github:
https://github.com/tngraf/Tethys.Logging

What is Tethys.Logging?

Tethys.Logging is itself a very simple logging framework and adds some
enhancements to existing logging frameworks (Common.Logging, NLog, log4net).

Most of the enhancements target the simple display of log message. Yes, you
could write all log message to a file and then display them. But for
applications with a graphical user interface it's often more easy to show log
messages in a (separate) window. With proper configuration such message can be
use as well for the user (trace, audit trail) as for the developer.

What is the right Logger for you?

Each one of us has his own ideas on logging, so we can assume that there will
never be a logger that fulfills all needs and fits for everyone. Here is a
short selection guide for my favorite loggers:

  • You want to have a simple logger that has the same interface on Windows
    (WinForms, WPF), Windows Phone and Windows 8?
    => use Tethys.Logging (either directly or only as a façade for other loggers).
  • You want to have more advanced logging support including formatting?
    => use Common.Logging (either directly or only as a façade for other loggers).
  • You want to log on all different kind of targets like files, event log, database,
    network, etc.?
    => use NLog.
  • You want to see log output directly in your application, for example in a text box
    or rich text box?
    => use one of log view adapters of Tethys.Logging (also for Common.Logging and NLog).
  • You have use log4j since years and do not want to learn something new?
    => use log4net (but keep in mind that the project is discontinued)

Features

Tethys.Logging is based on the following ideas:

  • There should be a single logging interface that is supported on all platforms so that we can write portable applications.
  • There should be ready to use controls or windows on WinForms and WPF that display log output.
  • For each supported logging framework there should be appenders that allow forwarding log events to the output controls.

This results at the moment in the following libraries:

  • Tethys.Logging - Platform independent basic logging support (Portable library: .NET Framework 4.x, Silverlight 4, Windows Phone 7/8 and.NET for Windows Store apps).
  • Tethys.Logging.Common.Logging - Adapter for Common.Logging (.NET Client Framework 4, Common.Logging 2.1.1).
  • Tethys.Logging.Controls - Logging controls for WinForms (.NET Client Framework 4).
  • Tethys.Logging.Controls.Wpf - Logging controls for WPF (.NET Client Framework 4)
  • Tethys.Logging.NLog - Adapter for NLog (.NET Client Framework 4, NLog 2.0).
  • Tethys.Logging.Log4Net - Adapter for log4net 1.2.10 (.NET Framework 4, log4net 1.2.10).
  • Tethys.Logging.Win - Trace logger (only for .NET Framework 4)

Supported Operating Systems and Frameworks

Tethys.Logging supports the following .Net frameworks and operating systems:

  • .NET Client Framework 4 (Windows XP, Windows Vista, Windows 7, Windows 8)
  • .NET Client Framework 4.5 (Windows XP, Windows Vista, Windows 7, Windows 8)
  • .Net for Windows Store apps (Windows 8)
  • .Net for Windows Phone 7
  • .Net for Windows Phone 8
  • WinForms (Windows XP, Windows Vista, Windows 7, Windows 8)
  • WPF (Windows XP, Windows Vista, Windows 7, Windows 8)

I'm pretty sure that we could still support .NET Client Framework 2, but there is no longer any explicit build support for that framework.

Documentation

Documentation is a little bit thin at the moment, but there are a couple of example/test applications for the following scenarios:

  • TestApp.LogView (.NET Client Framework 4, WinForms)
  • TestApp.Common.Logging (.NET Client Framework 4, WinForms, Common.Logging)
  • TestApp.Common.Logging.NLog - .NET Client Framework 4, WinForms, Common.Logging, NLog)
  • TestApp.log4net (.NET Framework 4, WinForms, log4net)
  • TestApp.NLog (.NET Client Framework 4, WinForms, NLog)
  • TestApp.NLog2 (.NET Client Framework 4, WinForms, NLog)
  • TestApp.Win8 (.Net for Windows Store apps)
  • TestApp.WindowsForms (.NET Client Framework 4, WinForms)
  • TestApp.WP71 (.Net for Windows Phone 7)
  • TestApp.WP8 (.Net for Windows Phone 8)
  • TestApp.WPF (.NET Client Framework 4, WPF, Common.Logging, NLog)

Other Logging Frameworks

Tethys.Logging can be used standalone, but for larger application it's recommended to use another (more powerful) logging framework and use only Tethys.Logging appenders to display the log output.

Logging frameworks supported by Tethys.Logging are

 

Last edit: Tom 2015-06-04