// Copyright 2020 Siemens Digital Industries Software
// ==================================================
// Copyright 2013.
// Siemens Product Lifecycle Management Software Inc.
// All Rights Reserved.
// ==================================================
// Copyright 2020 Siemens Digital Industries Software
/**
    @file
    Logger to be used by code in a main program
**/

/*  */

#ifndef TCMAINLOGGER_HXX
#define TCMAINLOGGER_HXX

#include <mld/logging/Logger.hxx>
#include <mld/libmld_exports.h>

/**
    @defgroup mld Logger

    Teamcenter has implemented this Logger function that
    allows users to use it in minor main programs.

    This logger uses the logger name: "Teamcenter.main"

    As an alternative to using this logger in other programs, it is probably preferable
    to define and use a separate logger in a different namespace so that it may be
    separately configured. See mld/logging/Logger.hxx

    The ITK logger functions include:
    <ul>
    <li>A function to automatically provide a logger for minor main programs.
    </ul>

    To use these functions, include MainLogger.hxx.
    @{
*/

namespace Teamcenter
{
    namespace Main
    {
        /**
           Provides a logger with the name "Teamcenter.main".

           @returns A pointer to the Logger object
        */
        extern MLD_API Teamcenter::Logging::Logger* logger();
    }
};
/** @} */
#include <mld/libmld_undef.h>
#endif
