mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-06-28 14:20:12 +00:00
Feature/kafkajs update kafka options to include log creator (#35831)
* Changefs in `kafkajs` to update to the latest version Include `logCreator` in `KafkaOptions` * Include example in the tests * Fix linter problems * Updated version of `kafkajs` to 1.8
This commit is contained in:
committed by
Sheetal Nandi
parent
4685bbd271
commit
f08baa1d0f
28
types/kafkajs/index.d.ts
vendored
28
types/kafkajs/index.d.ts
vendored
@@ -1,4 +1,4 @@
|
||||
// Type definitions for kafkajs 1.4
|
||||
// Type definitions for kafkajs 1.8
|
||||
// Project: https://github.com/tulios/kafkajs, https://kafka.js.org
|
||||
// Definitions by: Michal Kaminski <https://github.com/michal-b-kaminski>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
@@ -71,6 +71,31 @@ export enum ResourceTypes {
|
||||
DELEGATION_TOKEN = 6
|
||||
}
|
||||
|
||||
export interface LoggerMessage {
|
||||
/** @var namespace Context from which the logger was called. */
|
||||
readonly namespace: string;
|
||||
|
||||
/** @var level Logger level. */
|
||||
readonly level: logLevel;
|
||||
|
||||
/** @var label Logger level label. */
|
||||
readonly label: string;
|
||||
|
||||
/** @var log Content of the logger entry. */
|
||||
readonly log: LoggerMessageContent;
|
||||
}
|
||||
|
||||
export interface LoggerMessageContent {
|
||||
/** @var timestamp Message timestamp. */
|
||||
readonly timestamp: Date;
|
||||
|
||||
/** @var message Message sent to the logger. */
|
||||
readonly message: string;
|
||||
|
||||
// Other possible fields in the content, that depend on the context.
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
export interface KafkaOptions {
|
||||
clientId?: string;
|
||||
brokers: string[];
|
||||
@@ -80,6 +105,7 @@ export interface KafkaOptions {
|
||||
requestTimeout?: number;
|
||||
retry?: RetryOptions;
|
||||
logLevel?: logLevel;
|
||||
logCreator?: () => (message: LoggerMessage) => void;
|
||||
}
|
||||
|
||||
export interface SASLOptions {
|
||||
|
||||
@@ -8,7 +8,8 @@ import {
|
||||
CompressionTypes,
|
||||
CompressionCodecs,
|
||||
ResourceTypes,
|
||||
PartitionAssigner
|
||||
PartitionAssigner,
|
||||
LoggerMessage
|
||||
} from "kafkajs";
|
||||
|
||||
const { MemberMetadata, MemberAssignment } = AssignerProtocol;
|
||||
@@ -18,6 +19,10 @@ const { roundRobin } = PartitionAssigners;
|
||||
const host = "localhost";
|
||||
const topic = "topic-test";
|
||||
|
||||
const logger = (loggerMessage: LoggerMessage): void => {
|
||||
console.log(`[${loggerMessage.namespace}] ${loggerMessage.log.message}`);
|
||||
};
|
||||
|
||||
const kafka = new Kafka({
|
||||
logLevel: logLevel.INFO,
|
||||
brokers: [`${host}:9094`, `${host}:9097`, `${host}:9100`],
|
||||
@@ -31,7 +36,8 @@ const kafka = new Kafka({
|
||||
mechanism: "plain",
|
||||
username: "test",
|
||||
password: "testtest"
|
||||
}
|
||||
},
|
||||
logCreator: () => logger
|
||||
});
|
||||
|
||||
// CONSUMER
|
||||
|
||||
Reference in New Issue
Block a user