/* * Copyright 2018 Ayana Developers * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ declare module "@ayana/logger" { export enum LogLevel { OFF = 'OFF', ERROR = 'ERROR', WARN = 'WARN', INFO = 'INFO', DEBUG = 'DEBUG', TRACE = 'TRACE', } export interface LoggerConfig { level?: string; loggers?: Array<{ name: string, level: LogLevel, exact?: boolean, }>; codeDirs?: string[]; } export class Logger { public static get(forClass: string | Function): Logger; public static setConfig(cfg: LoggerConfig): void; private constructor(name: string, pkgName: string, pkgPath: string): Logger; public log(level: LogLevel, msg: string, uniqueMarker?: string): void; public error(msg: string, uniqueMarker?: string): void; public warn(msg: string, uniqueMarker?: string): void; public info(msg: string, uniqueMarker?: string): void; public debug(msg: string, uniqueMarker?: string): void; public trace(msg: string, uniqueMarker?: string): void; } export default Logger; export function get(forClass: string | Function, dirname: string): Logger; export function setConfig(cfg: LoggerConfig): void; }