# Class BaseAppender
ClassModule | import { BaseAppender } from "@tsed/logger" |
---|---|
Source | /packages/logger/src/types/appenders/class/BaseAppender.ts |
# Overview
abstract class BaseAppender<Opts = any> implements BaseAppenderMethods {
#private;
readonly config: AppenderConfiguration<Opts>;
appenderOptions: AppenderOptions;
[key: string]: any;
constructor(config: AppenderConfiguration<Opts>);
configure(config: PartialAppenderConfiguration): this;
<span class="token function">layout</span><span class="token punctuation">(</span>...args<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">;</span>
<span class="token keyword">abstract</span> <span class="token function">write</span><span class="token punctuation">(</span>loggingEvent<span class="token punctuation">:</span> <a href="/api/logger/types/core/LogEvent.html"><span class="token">LogEvent</span></a><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>
}
# Description
# BaseAppender
@tsed/logger
can load appenders from outside the core appenders. The type config value is used as a require path if no matching appender can be found. For example, the following configuration will create an appender with decorators:
// consoleAppender.ts
import {Appender, BaseAppender, LogEvent} from "@tsed/logger";
const consoleLog = console.log.bind(console);
@ Appender({name: "console2"})
export class ConsoleAppender extends BaseAppender {
write(loggingEvent: LogEvent) {
consoleLog(this.layout(loggingEvent, this.config.timezoneOffset));
}
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
This appender can be use like this:
import {Logger} from "@tsed/logger";
import "./consoleAppender.ts"
const logger = new Logger("loggerName");
logger.appenders
.set("console-log", {
type: "console2", level: ["debug", "info", "trace"]
});
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# Members
#private;
readonly config: AppenderConfiguration<Opts>;
appenderOptions: AppenderOptions;
[key: string]: any;
configure(config: PartialAppenderConfiguration): this;
layout(...args: any[]): string;
abstract write(loggingEvent: LogEvent): any;
Other topics
- Console Appender
- File Appender
- Date Rolling File Appender
- Connect Appender
- Standard Out Appender
- Standard Error Appender
- Insight Appender
- LogEntries Appender
- LogStash HTTP Appender
- LogStash UDP Appender
- Loggly Appender
- RabbitMQ Appender
- Seq Appender
- Slack Appender
- SMTP Appender
- Basic layout
- Colored layout
- Dummy layout
- Message Pass-Through layout
- Object layout
- Json layout
- Pattern layout