www.digitalmars.com         C & C++   DMDScript  

c++.stlsoft - Pantheios.COM 1.0.1 beta 10 released; coming changes in Pantheios

Hi all

Just wanted to announce a few news items:

1. Pantheios.COM 1.0.1 b10 released (incorporates changes in yesterday's
beta 9, which was removed today.)
----------------------------------------------------------------------------
------------------------------------

A minor improvement in the CompositeLogger.Chain() method, to allow it to
chain a logger (type) by name.

Let's say you want to create a composite logger, composed of debug logger
and event log logger. With 1.0.1-beta8 or earlier you'd have had to write:

    processId = "composite_logger_test"

    set loggerManager = CreateObject("Pantheios.COM.LoggerManager")
    set severityLevels = CreateObject("Pantheios.COM.SeverityLevels")

    set debugLogger = loggerManager.GetLogger("Debug", processId, Nothing,
severityLevels.Debug)
    set eventLogger = loggerManager.GetLogger("EventLog", processId,
Nothing, severityLevels.Warning)

    'set compositeLogger = loggerManager.GetLogger("Composite", processId,
Nothing, severityLevels.Debug)
    set compositeLogger = loggerManager.GetLogger("Composite", processId)

    compositeLogger.Chain debugLogger
    compositeLogger.Chain eventLogger

    compositeLogger.Log severityLevels.Emergency, "emergency"
    compositeLogger.Log severityLevels.Alert, "alert"
    compositeLogger.Log severityLevels.Critical, "critical"
    compositeLogger.Log severityLevels.Error, "error"
    compositeLogger.Log severityLevels.Warning, "warning"
    compositeLogger.Log severityLevels.Notice, "notice"
    compositeLogger.Log severityLevels.Informational, "informational"
    compositeLogger.Log severityLevels.Debug, "debug"


With 1.0.1-beta10, you can now create and chain a logger in one operation,
as follows:

    processId = "composite_logger_test"

    set loggerManager = CreateObject("Pantheios.COM.LoggerManager")
    set severityLevels = CreateObject("Pantheios.COM.SeverityLevels")

    set compositeLogger = loggerManager.GetLogger("Composite", processId)

    compositeLogger.Chain "Debug", severityLevels.Debug
    compositeLogger.Chain "EventLog", severityLevels.Warning

    compositeLogger.Log severityLevels.Emergency, "emergency"
    compositeLogger.Log severityLevels.Alert, "alert"
    compositeLogger.Log severityLevels.Critical, "critical"
    compositeLogger.Log severityLevels.Error, "error"
    compositeLogger.Log severityLevels.Warning, "warning"
    compositeLogger.Log severityLevels.Notice, "notice"
    compositeLogger.Log severityLevels.Informational, "informational"
    compositeLogger.Log severityLevels.Debug, "debug"


2. Several Pantheios changes in the near future
----------------------------------------------

- be.speech (initially Windows-only)
- all per-platform standard back-ends will be compiled into single libraries
(i.e. pantheios.1.bec.dm.mt.lib), rather than one per component (e.g.
pantheios.1.bec.Win32Console.dm.mt.lib +
pantheios.1.bec.Win32Debugger.dm.mt.lib +
pantheios.1.bec.Win32syslog.dm.mt.lib + . . . )
- be.loader alpha version
- implicit handling of integral and floating point types. (iow, no more need
for "pantheios::integer(x)", just "x")
- ... and lots more ...

Within the next few weeks, my current primary client's product will launch,
and I'll also be taking a short vacation. After this, expect to see a lot of
rapid movements towards Pantheios 1.0.1 proper.

Cheers

Matt
Sep 22 2007