@creejs/commons-logging
Version:
Common Utils About Logging
94 lines (93 loc) • 4.16 kB
TypeScript
declare namespace _default {
export { Provider };
export { LogFactory };
export { Logger };
export { LogLevel };
export { ProviderType };
export { getLogger };
export { setLevel };
export { useProvider };
export { useProvider as use };
export { configureProvider };
export { configureProvider as configure };
export { configureThenUseProvider };
export { configureThenUseProvider as configureThenUse };
export { addProvider };
export { addProvider as add };
export { clearProviders };
export { currentProvider };
export { currentProvider as current };
export { removeProvider };
export { removeProvider as remove };
export { ConsoleProvider };
export { Log4jsProvider };
}
export default _default;
import Provider from './provider.js';
import LogFactory from './log-factory.js';
import Logger from './logger.js';
import LogLevel from './log-level.js';
import ProviderType from './provider-type.js';
/**
* Gets a logger instance for the specified logger name using the current provider.
* @param {string} loggerName - The name of the logger to retrieve.
* @returns {Logger} The logger instance.
* @throws {Error} If no default provider is set or if the current provider is not initialized.
*/
export function getLogger(loggerName: string): Logger;
/**
* set Global logging level
* @param {'TRACE'|'DEBUG'|'INFO'|'WARN'|'ERROR'|'FATAL'|'OFF'|'trace'|'debug'|'info'|'warn'|'error'|'fatal'|'off'} level - The log level
*/
export function setLevel(level: "TRACE" | "DEBUG" | "INFO" | "WARN" | "ERROR" | "FATAL" | "OFF" | "trace" | "debug" | "info" | "warn" | "error" | "fatal" | "off"): void;
/**
* Set the provider using currently
* @param {string} typeName - The type name of the logging provider to use.
* @returns {void}
* @throws {Error} If the provider name is unknown.
*/
export function useProvider(typeName: string): void;
/**
* configure provider to initialize its LogFactory
* 1. find the LogProvider Implementation of "typeName"
* * if type is not supported, throw error
* 2. use the nativeLib and setting to initialize the LogProvider
* 3. create a LogFactory via teh LogProvider
* @param {string} typeName - The type of logging provider to configure.
* @param {*} [nativeLib] - The native library to use for logging.
* @param {*} [setting] - Configuration settings for the logging provider.
* @throws {Error} If the typeName is not recognized.
*/
export function configureProvider(typeName: string, nativeLib?: any, setting?: any): void;
/**
* Configures and immediately uses a logging provider with the given settings.
* @param {string} typeName - The type/name identifier for the provider.
* @param {*} nativeLib - The native library implementation to configure.
* @param {*} setting - Configuration settings for the provider.
*/
export function configureThenUseProvider(typeName: string, nativeLib: any, setting: any): void;
/**
* Add a type of Provider
*
* More:
* 1. A Provider is a Module
* 2. The module must include the following functions:
* 1. getType() - Returns the type name of the provider.
* 2. createLogFactory() - Creates a new LogFactory instance.
* @param {Provider} provider - Logging Library Module
* @returns {void}
*/
export function addProvider(provider: Provider): void;
export function clearProviders(): void;
export function currentProvider(): string;
/**
* Removes and returns the provider associated with the given type name.
* If no provider exists for the type name, the function returns undefined.
*
* @param {string} typeName - The type name of the provider to remove.
* @returns {boolean} The removed provider, or undefined if not found.
*/
export function removeProvider(typeName: string): boolean;
import ConsoleProvider from './console/index.js';
import Log4jsProvider from './log4js/index.js';
export { Provider, LogFactory, Logger, LogLevel, ProviderType, useProvider as use, configureProvider as configure, configureThenUseProvider as configureThenUse, addProvider as add, currentProvider as current, removeProvider as remove, ConsoleProvider, Log4jsProvider };