feat(sdk-logs)!: Removed deprecated `LoggerProvider#addLogRecordProcessor()` (#5764)
This commit is contained in:
parent
e18a6c8456
commit
491ed96aca
|
|
@ -8,6 +8,8 @@ For notes on migrating to 2.x / 0.200.x see [the upgrade guide](doc/upgrade-to-2
|
|||
|
||||
### :boom: Breaking Changes
|
||||
|
||||
* feat(sdk-logs)!: Removed deprecated LoggerProvider#addLogRecordProcessor() [#5764](https://github.com/open-telemetry/opentelemetry-js/pull/5764) @svetlanabrennan
|
||||
|
||||
### :rocket: Features
|
||||
|
||||
### :bug: Bug Fixes
|
||||
|
|
|
|||
|
|
@ -25,10 +25,13 @@ import {
|
|||
// Optional and only needed to see the internal diagnostic logging (during development)
|
||||
diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);
|
||||
|
||||
const loggerProvider = new LoggerProvider();
|
||||
loggerProvider.addLogRecordProcessor(
|
||||
new SimpleLogRecordProcessor(new ConsoleLogRecordExporter())
|
||||
);
|
||||
const loggerProvider = new LoggerProvider({
|
||||
processors: [
|
||||
new SimpleLogRecordProcessor(
|
||||
new ConsoleLogRecordExporter()
|
||||
)
|
||||
],
|
||||
});
|
||||
|
||||
logs.setGlobalLoggerProvider(loggerProvider);
|
||||
|
||||
|
|
|
|||
|
|
@ -39,11 +39,9 @@ const collectorOptions = {
|
|||
};
|
||||
|
||||
const loggerExporter = new OTLPLogExporter(collectorOptions);
|
||||
const loggerProvider = new LoggerProvider();
|
||||
|
||||
loggerProvider.addLogRecordProcessor(
|
||||
new BatchLogRecordProcessor(loggerExporter)
|
||||
);
|
||||
const loggerProvider = new LoggerProvider({
|
||||
processors: [new BatchRecordProcessor(loggerExporter)]
|
||||
});
|
||||
|
||||
['SIGINT', 'SIGTERM'].forEach(signal => {
|
||||
process.on(signal, () => loggerProvider.shutdown().catch(console.error));
|
||||
|
|
|
|||
|
|
@ -37,9 +37,9 @@ const collectorOptions = {
|
|||
concurrencyLimit: 1, // an optional limit on pending requests
|
||||
};
|
||||
const logExporter = new OTLPLogExporter(collectorOptions);
|
||||
const loggerProvider = new LoggerProvider();
|
||||
|
||||
loggerProvider.addLogRecordProcessor(new BatchLogRecordProcessor(logExporter));
|
||||
const loggerProvider = new LoggerProvider({
|
||||
processors: [new BatchRecordProcessor(logExporter)]
|
||||
});
|
||||
|
||||
const logger = loggerProvider.getLogger('default', '1.0.0');
|
||||
// Emit a log
|
||||
|
|
@ -66,9 +66,9 @@ const collectorOptions = {
|
|||
concurrencyLimit: 1, // an optional limit on pending requests
|
||||
};
|
||||
const logExporter = new OTLPLogExporter(collectorOptions);
|
||||
const loggerProvider = new LoggerProvider();
|
||||
|
||||
loggerProvider.addLogRecordProcessor(new BatchLogRecordProcessor(logExporter));
|
||||
const loggerProvider = new LoggerProvider({
|
||||
processors: [new BatchRecordProcessor(logExporter)]
|
||||
});
|
||||
|
||||
const logger = loggerProvider.getLogger('default', '1.0.0');
|
||||
// Emit a log
|
||||
|
|
|
|||
|
|
@ -31,9 +31,11 @@ const collectorOptions = {
|
|||
}, //an optional object containing custom headers to be sent with each request will only work with http
|
||||
};
|
||||
|
||||
const logProvider = new LoggerProvider({resource: resourceFromAttributes({'service.name': 'testApp'})});
|
||||
const logExporter = new OTLPLogExporter(collectorOptions);
|
||||
logProvider.addLogRecordProcessor(new SimpleLogRecordProcessor(exporter));
|
||||
const logProvider = new LoggerProvider({
|
||||
resource: resourceFromAttributes({'service.name': 'testApp'}),
|
||||
processors: [new SimpleLogRecordProcessor(logExporter)]
|
||||
});
|
||||
|
||||
const logger = logProvider.getLogger('test_log_instrumentation');
|
||||
|
||||
|
|
|
|||
|
|
@ -31,11 +31,10 @@ const {
|
|||
} = require('@opentelemetry/sdk-logs');
|
||||
|
||||
// To start a logger, you first need to initialize the Logger provider.
|
||||
const loggerProvider = new LoggerProvider();
|
||||
// Add a processor to export log record
|
||||
loggerProvider.addLogRecordProcessor(
|
||||
new SimpleLogRecordProcessor(new ConsoleLogRecordExporter())
|
||||
);
|
||||
// and add a processor to export log record
|
||||
const loggerProvider = new LoggerProvider({
|
||||
processors: [new SimpleLogRecordProcessor(new ConsoleLogRecordExporter())]
|
||||
});
|
||||
|
||||
// To create a log record, you first need to get a Logger instance
|
||||
const logger = loggerProvider.getLogger('default');
|
||||
|
|
|
|||
|
|
@ -23,8 +23,6 @@ import type { LoggerProviderConfig } from './types';
|
|||
import { Logger } from './Logger';
|
||||
import { loadDefaultConfig, reconfigureLimits } from './config';
|
||||
import { LoggerProviderSharedState } from './internal/LoggerProviderSharedState';
|
||||
import { LogRecordProcessor } from './LogRecordProcessor';
|
||||
import { MultiLogRecordProcessor } from './MultiLogRecordProcessor';
|
||||
|
||||
export const DEFAULT_LOGGER_NAME = 'unknown';
|
||||
|
||||
|
|
@ -75,32 +73,6 @@ export class LoggerProvider implements logsAPI.LoggerProvider {
|
|||
return this._sharedState.loggers.get(key)!;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated add your processors in the constructors instead.
|
||||
*
|
||||
* Adds a new {@link LogRecordProcessor} to this logger.
|
||||
* @param processor the new LogRecordProcessor to be added.
|
||||
*/
|
||||
public addLogRecordProcessor(processor: LogRecordProcessor) {
|
||||
if (this._sharedState.registeredLogRecordProcessors.length === 0) {
|
||||
// since we might have enabled by default a batchProcessor, we disable it
|
||||
// before adding the new one
|
||||
this._sharedState.activeProcessor
|
||||
.shutdown()
|
||||
.catch(err =>
|
||||
diag.error(
|
||||
'Error while trying to shutdown current log record processor',
|
||||
err
|
||||
)
|
||||
);
|
||||
}
|
||||
this._sharedState.registeredLogRecordProcessors.push(processor);
|
||||
this._sharedState.activeProcessor = new MultiLogRecordProcessor(
|
||||
this._sharedState.registeredLogRecordProcessors,
|
||||
this._sharedState.forceFlushTimeoutMillis
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Notifies all registered LogRecordProcessor to flush any buffered data.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -52,6 +52,22 @@ describe('LoggerProvider', () => {
|
|||
assert.ok(processor instanceof NoopLogRecordProcessor);
|
||||
});
|
||||
|
||||
it('should add logRecord processor', () => {
|
||||
const logRecordProcessor = new NoopLogRecordProcessor();
|
||||
const provider = new LoggerProvider({
|
||||
processors: [logRecordProcessor],
|
||||
});
|
||||
const sharedState = provider['_sharedState'];
|
||||
assert.ok(
|
||||
sharedState.activeProcessor instanceof MultiLogRecordProcessor
|
||||
);
|
||||
assert.strictEqual(sharedState.activeProcessor.processors.length, 1);
|
||||
assert.strictEqual(
|
||||
sharedState.activeProcessor.processors[0],
|
||||
logRecordProcessor
|
||||
);
|
||||
});
|
||||
|
||||
it('should have default resource if not pass', () => {
|
||||
const provider = new LoggerProvider();
|
||||
const { resource } = provider['_sharedState'];
|
||||
|
|
@ -201,21 +217,6 @@ describe('LoggerProvider', () => {
|
|||
});
|
||||
});
|
||||
|
||||
describe('addLogRecordProcessor', () => {
|
||||
it('should add logRecord processor', () => {
|
||||
const provider = new LoggerProvider();
|
||||
const sharedState = provider['_sharedState'];
|
||||
const logRecordProcessor = new NoopLogRecordProcessor();
|
||||
provider.addLogRecordProcessor(logRecordProcessor);
|
||||
assert.ok(sharedState.activeProcessor instanceof MultiLogRecordProcessor);
|
||||
assert.strictEqual(sharedState.activeProcessor.processors.length, 1);
|
||||
assert.strictEqual(
|
||||
sharedState.activeProcessor.processors[0],
|
||||
logRecordProcessor
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('.forceFlush()', () => {
|
||||
it('should call forceFlush on all registered log record processors', done => {
|
||||
sinon.restore();
|
||||
|
|
|
|||
Loading…
Reference in New Issue