opennms
Version:
Client API for the OpenNMS network monitoring platform
51 lines (40 loc) • 1.5 kB
text/typescript
import {
Category,
CategoryLogger,
CategoryServiceFactory,
CategoryDefaultConfiguration,
LogLevel,
} from 'typescript-logging';
// Optionally change default settings, in this example set default logging to Info.
// Without changing configuration, categories will log to Error.
CategoryServiceFactory.setDefaultConfiguration(new CategoryDefaultConfiguration(LogLevel.Info));
// Create categories, they will autoregister themselves.
// This creates one root logger, with 1 child sub category.
/** @hidden */
export const catRoot = new Category('opennms');
/** @hidden */
export const catAPI = new Category('api', catRoot);
/** @hidden */
export const catDao = new Category('dao', catRoot);
/** @hidden */
export const catModel = new Category('model', catRoot);
/** @hidden */
export const catRest = new Category('rest', catRoot);
/** @hidden */
export const catUtil = new Category('util', catRoot);
/**
* Get a logger, this can be retrieved for root categories only (in the example above, the 'service' category).
* @hidden
*/
export const log: CategoryLogger = CategoryServiceFactory.getLogger(catRoot);
/** @hidden */
export const setLogLevel = (level: LogLevel, cat?: Category) => {
if (cat === undefined) {
cat = catRoot;
}
// console.log('setting category ' + cat.name + ' to ' + level.toString());
CategoryServiceFactory.getRuntimeSettings().getCategorySettings(cat).logLevel = level;
for (const subCat of cat.children) {
setLogLevel(level, subCat);
}
};