Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
638c36d
Add recordLog emit
hectorhdzg Nov 30, 2023
d461556
Merge branch 'main' into hectorhdzg/winstonlogs
hectorhdzg Nov 30, 2023
4ec2196
Readme lint
hectorhdzg Nov 30, 2023
20f58ab
Merge branch 'hectorhdzg/winstonlogs' of https://github.com/hectorhdz…
hectorhdzg Nov 30, 2023
01286b5
Update
hectorhdzg Dec 2, 2023
adc8f7a
Lint
hectorhdzg Dec 2, 2023
7d24291
Merge branch 'main' into hectorhdzg/winstonlogs
hectorhdzg Dec 2, 2023
fe2bdbb
Update
hectorhdzg Dec 8, 2023
1d4b91a
Merge branch 'main' into hectorhdzg/winstonlogs
hectorhdzg Dec 8, 2023
e76321b
Update
hectorhdzg Dec 8, 2023
d80c76a
Merge branch 'main' into hectorhdzg/winstonlogs
hectorhdzg Dec 8, 2023
683c578
Lint
hectorhdzg Dec 8, 2023
ffa9f9b
Tests
hectorhdzg Dec 8, 2023
441f72a
Added transports
hectorhdzg Dec 29, 2023
6731e97
Add log appenders(Winston transports)
hectorhdzg Jan 3, 2024
1c7ac82
Merge remote-tracking branch 'upstream/main' into hectorhdzg/winstonlogs
hectorhdzg Jan 3, 2024
c662cd0
Merge branch 'main' into hectorhdzg/winstonlogs
hectorhdzg Jan 3, 2024
47db601
npm i
hectorhdzg Jan 3, 2024
9d92764
Lint
hectorhdzg Jan 3, 2024
6595727
Merge branch 'main' into hectorhdzg/winstonlogs
hectorhdzg Jan 3, 2024
4c6e813
Merge branch 'main' into hectorhdzg/winstonlogs
hectorhdzg Jan 12, 2024
4dc6dca
Updating dependencies and readme
hectorhdzg Jan 23, 2024
ff81990
Merge branch 'main' into hectorhdzg/winstonlogs
hectorhdzg Jan 23, 2024
3800b1c
Update
hectorhdzg Jan 31, 2024
54b7156
Merge remote-tracking branch 'upstream/main' into hectorhdzg/winstonlogs
hectorhdzg Jan 31, 2024
8c730a5
npm i
hectorhdzg Jan 31, 2024
13fce4d
Update dependencies
hectorhdzg Jan 31, 2024
175a020
Update
hectorhdzg Feb 1, 2024
ca07f95
Update readme
hectorhdzg Feb 1, 2024
d4a84c4
Readme lint
hectorhdzg Feb 1, 2024
7399017
Merge branch 'main' into hectorhdzg/winstonlogs
hectorhdzg Feb 6, 2024
03b8ce7
Update
hectorhdzg Feb 6, 2024
2d7704c
lint
hectorhdzg Feb 6, 2024
091bddf
Update release manifest
hectorhdzg Feb 6, 2024
c447a6e
Addressing comments
hectorhdzg Feb 8, 2024
b57803c
npm i
hectorhdzg Feb 8, 2024
574ac19
remove inspect break
hectorhdzg Feb 8, 2024
e74650c
Addressing comments
hectorhdzg Feb 9, 2024
6247337
Update
hectorhdzg Feb 9, 2024
3fa81c0
Update packages/winston-transport/README.md
hectorhdzg Feb 10, 2024
3b43b31
Update plugins/node/opentelemetry-instrumentation-winston/README.md
hectorhdzg Feb 10, 2024
5089079
Update packages/winston-transport/test/openTelemetryTransport.test.ts
hectorhdzg Feb 10, 2024
69ae0ea
Update packages/winston-transport/README.md
hectorhdzg Feb 10, 2024
a2bb13e
Addressing comments
hectorhdzg Feb 10, 2024
fc39c78
Update component owners
hectorhdzg Feb 10, 2024
51564b8
Update tav
hectorhdzg Feb 10, 2024
2405492
Addressing comments
hectorhdzg Feb 12, 2024
c2dc4eb
Merge remote-tracking branch 'upstream/main' into hectorhdzg/winstonlogs
hectorhdzg Feb 26, 2024
95d8a6a
Update logger name
hectorhdzg Feb 26, 2024
fb41f93
Merge remote-tracking branch 'upstream/main' into hectorhdzg/winstonlogs
hectorhdzg Feb 28, 2024
ec9da89
Merge branch 'hectorhdzg/winstonlogs' of https://github.com/hectorhdz…
hectorhdzg Feb 28, 2024
1fe760d
Update
hectorhdzg Feb 28, 2024
615c702
Merge branch 'main' into hectorhdzg/winstonlogs
hectorhdzg Feb 28, 2024
8cf9b57
Merge remote-tracking branch 'upstream/main' into hectorhdzg/winstonlogs
hectorhdzg Mar 7, 2024
064cba7
Update logs api dependency
hectorhdzg Mar 7, 2024
9e9e7d1
Merge remote-tracking branch 'upstream/main' into hectorhdzg/winstonlogs
hectorhdzg Mar 11, 2024
fae82c9
Update
hectorhdzg Mar 11, 2024
1750b3e
Merge branch 'main' into hectorhdzg/winstonlogs
hectorhdzg Mar 11, 2024
a36d4e8
Merge branch 'main' into hectorhdzg/winstonlogs
hectorhdzg Mar 13, 2024
a5e1ad6
Addressing comments
hectorhdzg Mar 14, 2024
32fc1a2
Merge branch 'main' into hectorhdzg/winstonlogs
hectorhdzg Mar 14, 2024
5e0291e
Lint
hectorhdzg Mar 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update
  • Loading branch information
hectorhdzg committed Feb 6, 2024
commit 03b8ce74c91e078b8697e115ac008c56fec4469b
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"detectors/node/opentelemetry-resource-detector-alibaba-cloud":"0.28.6","detectors/node/opentelemetry-resource-detector-aws":"1.3.6","detectors/node/opentelemetry-resource-detector-azure":"0.2.4","detectors/node/opentelemetry-resource-detector-container":"0.3.6","detectors/node/opentelemetry-resource-detector-gcp":"0.29.6","detectors/node/opentelemetry-resource-detector-github":"0.28.1","detectors/node/opentelemetry-resource-detector-instana":"0.6.0","metapackages/auto-instrumentations-node":"0.41.1","metapackages/auto-instrumentations-web":"0.36.0","packages/opentelemetry-host-metrics":"0.35.0","packages/opentelemetry-id-generator-aws-xray":"1.2.1","packages/opentelemetry-propagation-utils":"0.30.6","packages/opentelemetry-redis-common":"0.36.1","packages/opentelemetry-sql-common":"0.40.0","packages/opentelemetry-test-utils":"0.36.0","plugins/node/instrumentation-amqplib":"0.34.0","plugins/node/instrumentation-cucumber":"0.3.0","plugins/node/instrumentation-dataloader":"0.6.0","plugins/node/instrumentation-fs":"0.9.0","plugins/node/instrumentation-lru-memoizer":"0.34.0","plugins/node/instrumentation-mongoose":"0.35.0","plugins/node/instrumentation-socket.io":"0.36.0","plugins/node/instrumentation-tedious":"0.7.0","plugins/node/opentelemetry-instrumentation-aws-lambda":"0.38.0","plugins/node/opentelemetry-instrumentation-aws-sdk":"0.38.1","plugins/node/opentelemetry-instrumentation-bunyan":"0.35.0","plugins/node/opentelemetry-instrumentation-cassandra":"0.35.0","plugins/node/opentelemetry-instrumentation-connect":"0.33.0","plugins/node/opentelemetry-instrumentation-dns":"0.33.0","plugins/node/opentelemetry-instrumentation-express":"0.35.0","plugins/node/opentelemetry-instrumentation-fastify":"0.33.0","plugins/node/opentelemetry-instrumentation-generic-pool":"0.33.0","plugins/node/opentelemetry-instrumentation-graphql":"0.37.0","plugins/node/opentelemetry-instrumentation-hapi":"0.34.0","plugins/node/opentelemetry-instrumentation-ioredis":"0.37.0","plugins/node/opentelemetry-instrumentation-knex":"0.33.0","plugins/node/opentelemetry-instrumentation-koa":"0.37.0","plugins/node/opentelemetry-instrumentation-memcached":"0.33.0","plugins/node/opentelemetry-instrumentation-mongodb":"0.39.0","plugins/node/opentelemetry-instrumentation-mysql":"0.35.0","plugins/node/opentelemetry-instrumentation-mysql2":"0.35.0","plugins/node/opentelemetry-instrumentation-nestjs-core":"0.34.0","plugins/node/opentelemetry-instrumentation-net":"0.33.0","plugins/node/opentelemetry-instrumentation-pg":"0.38.0","plugins/node/opentelemetry-instrumentation-pino":"0.35.0","plugins/node/opentelemetry-instrumentation-redis":"0.36.0","plugins/node/opentelemetry-instrumentation-redis-4":"0.36.0","plugins/node/opentelemetry-instrumentation-restify":"0.35.0","plugins/node/opentelemetry-instrumentation-router":"0.34.0","plugins/node/opentelemetry-instrumentation-winston":"0.34.0","plugins/web/opentelemetry-instrumentation-document-load":"0.35.0","plugins/web/opentelemetry-instrumentation-long-task":"0.35.0","plugins/web/opentelemetry-instrumentation-user-interaction":"0.35.0","plugins/web/opentelemetry-plugin-react-load":"0.30.0","propagators/opentelemetry-propagator-aws-xray":"1.3.1","propagators/opentelemetry-propagator-grpc-census-binary":"0.27.1","propagators/opentelemetry-propagator-instana":"0.3.1","propagators/opentelemetry-propagator-ot-trace":"0.27.1"}
{"detectors/node/opentelemetry-resource-detector-alibaba-cloud":"0.28.6","detectors/node/opentelemetry-resource-detector-aws":"1.3.6","detectors/node/opentelemetry-resource-detector-azure":"0.2.4","detectors/node/opentelemetry-resource-detector-container":"0.3.6","detectors/node/opentelemetry-resource-detector-gcp":"0.29.6","detectors/node/opentelemetry-resource-detector-github":"0.28.1","detectors/node/opentelemetry-resource-detector-instana":"0.6.0","metapackages/auto-instrumentations-node":"0.41.1","metapackages/auto-instrumentations-web":"0.36.0","packages/opentelemetry-host-metrics":"0.35.0","packages/opentelemetry-id-generator-aws-xray":"1.2.1","packages/opentelemetry-propagation-utils":"0.30.6","packages/opentelemetry-redis-common":"0.36.1","packages/opentelemetry-sql-common":"0.40.0","packages/opentelemetry-test-utils":"0.36.0","plugins/node/instrumentation-amqplib":"0.34.0","plugins/node/instrumentation-cucumber":"0.3.0","plugins/node/instrumentation-dataloader":"0.6.0","plugins/node/instrumentation-fs":"0.9.0","plugins/node/instrumentation-lru-memoizer":"0.34.0","plugins/node/instrumentation-mongoose":"0.35.0","plugins/node/instrumentation-socket.io":"0.36.0","plugins/node/instrumentation-tedious":"0.7.0","plugins/node/opentelemetry-instrumentation-aws-lambda":"0.38.0","plugins/node/opentelemetry-instrumentation-aws-sdk":"0.38.1","plugins/node/opentelemetry-instrumentation-bunyan":"0.35.0","plugins/node/opentelemetry-instrumentation-cassandra":"0.35.0","plugins/node/opentelemetry-instrumentation-connect":"0.33.0","plugins/node/opentelemetry-instrumentation-dns":"0.33.0","plugins/node/opentelemetry-instrumentation-express":"0.35.0","plugins/node/opentelemetry-instrumentation-fastify":"0.33.0","plugins/node/opentelemetry-instrumentation-generic-pool":"0.33.0","plugins/node/opentelemetry-instrumentation-graphql":"0.37.0","plugins/node/opentelemetry-instrumentation-hapi":"0.34.0","plugins/node/opentelemetry-instrumentation-ioredis":"0.37.0","plugins/node/opentelemetry-instrumentation-knex":"0.33.0","plugins/node/opentelemetry-instrumentation-koa":"0.37.0","plugins/node/opentelemetry-instrumentation-memcached":"0.33.0","plugins/node/opentelemetry-instrumentation-mongodb":"0.39.0","plugins/node/opentelemetry-instrumentation-mysql":"0.35.0","plugins/node/opentelemetry-instrumentation-mysql2":"0.35.0","plugins/node/opentelemetry-instrumentation-nestjs-core":"0.34.0","plugins/node/opentelemetry-instrumentation-net":"0.33.0","plugins/node/opentelemetry-instrumentation-pg":"0.38.0","plugins/node/opentelemetry-instrumentation-pino":"0.35.0","plugins/node/opentelemetry-instrumentation-redis":"0.36.0","plugins/node/opentelemetry-instrumentation-redis-4":"0.36.0","plugins/node/opentelemetry-instrumentation-restify":"0.35.0","plugins/node/opentelemetry-instrumentation-router":"0.34.0","plugins/node/opentelemetry-instrumentation-winston":"0.34.0","plugins/node/opentelemetry-winston-transport": "0.0.1","plugins/web/opentelemetry-instrumentation-document-load":"0.35.0","plugins/web/opentelemetry-instrumentation-long-task":"0.35.0","plugins/web/opentelemetry-instrumentation-user-interaction":"0.35.0","plugins/web/opentelemetry-plugin-react-load":"0.30.0","propagators/opentelemetry-propagator-aws-xray":"1.3.1","propagators/opentelemetry-propagator-grpc-census-binary":"0.27.1","propagators/opentelemetry-propagator-instana":"0.3.1","propagators/opentelemetry-propagator-ot-trace":"0.27.1"}
33 changes: 29 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ module.exports = {
"mocha": true,
"node": true
},
...require('../../../eslint.config.js'),
...require('../../eslint.config.js')
}
File renamed without changes.
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ npm install --save @opentelemetry/winston-transport
## Usage

This package exports the Winston transport class that is used to send records to the
OpenTelemetry Logs SDK. It can be used directly when configuring a Winston logger
OpenTelemetry Logs SDK. It can be used directly when configuring a Winston logger. If using
[`@opentelemetry/instrumenation-winston`](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-winston)
package there is no need to instantiate the transport as the instrumentation will take care of that.
For example:

```js
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"precompile": "tsc --version && lerna run version:update --scope @opentelemetry/winston-transport --include-dependencies",
"prewatch": "npm run precompile",
"prepublishOnly": "npm run compile",
"version:update": "node ../../../scripts/version-update.js",
"version:update": "node ../../scripts/version-update.js",
"compile": "tsc -p ."
},
"keywords": [
Expand Down Expand Up @@ -55,5 +55,5 @@
"@opentelemetry/api-logs": "^0.48.0",
"winston-transport" : "4.*"
},
"homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-winston-transport#readme"
"homepage": "https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/winston-transport#readme"
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import * as Transport from 'winston-transport';
import { VERSION } from './version';
import { emitLogRecord } from './utils';

export class OpenTelemetryTransport extends Transport {
export class OpenTelemetryTransportV3 extends Transport {
private _logger: Logger;

constructor(options?: Transport.TransportStreamOptions) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@
* limitations under the License.
*/

export { OpenTelemetryTransport } from './OpenTelemetryTransport';
export { OpenTelemetryTransportV3 } from './OpenTelemetryTransportV3';
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import {
} from '@opentelemetry/sdk-logs';
import * as assert from 'assert';
import * as sinon from 'sinon';
import { OpenTelemetryTransport } from '../src';
import { OpenTelemetryTransportV3 } from '../src';

const loggerProvider = new LoggerProvider();
const memoryLogExporter = new InMemoryLogRecordExporter();
Expand All @@ -39,7 +39,7 @@ describe('OpenTelemetryTransport', () => {
});

it('emit LogRecord', () => {
const transport = new OpenTelemetryTransport();
const transport = new OpenTelemetryTransportV3();
const writeSpy = sinon.spy(transport, 'emit');
transport.log({ message: kMessage }, () => {});
setImmediate(() => {
Expand All @@ -51,7 +51,7 @@ describe('OpenTelemetryTransport', () => {
});

it('emit LogRecord with extra attibutes', () => {
const transport = new OpenTelemetryTransport();
const transport = new OpenTelemetryTransportV3();
const extraAttributes = {
extraAttribute1: 'attributeValue1',
extraAttribute2: 'attributeValue2',
Expand All @@ -73,7 +73,7 @@ describe('OpenTelemetryTransport', () => {
describe('emit logRecord severity', () => {
it('npm levels', () => {
const callback = () => {};
const transport = new OpenTelemetryTransport();
const transport = new OpenTelemetryTransportV3();
transport.log({ message: kMessage, level: 'error' }, callback);
transport.log({ message: kMessage, level: 'warn' }, callback);
transport.log({ message: kMessage, level: 'info' }, callback);
Expand All @@ -94,7 +94,7 @@ describe('OpenTelemetryTransport', () => {

it('cli levels', () => {
const callback = () => {};
const transport = new OpenTelemetryTransport();
const transport = new OpenTelemetryTransportV3();
transport.log({ message: kMessage, level: 'error' }, callback);
transport.log({ message: kMessage, level: 'warn' }, callback);
transport.log({ message: kMessage, level: 'help' }, callback);
Expand All @@ -121,7 +121,7 @@ describe('OpenTelemetryTransport', () => {

it('syslog levels', () => {
const callback = () => {};
const transport = new OpenTelemetryTransport();
const transport = new OpenTelemetryTransportV3();
transport.log({ message: kMessage, level: 'emerg' }, callback);
transport.log({ message: kMessage, level: 'alert' }, callback);
transport.log({ message: kMessage, level: 'crit' }, callback);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "../../../tsconfig.base",
"extends": "../../tsconfig.base",
"compilerOptions": {
"rootDir": ".",
"outDir": "build"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ import type {
} from './internal-types';
import { VERSION } from './version';


const winston3Versions = ['>=3 <4'];
const winstonPre3Versions = ['>=1 <3'];

Expand All @@ -53,7 +52,7 @@ export class WinstonInstrumentation extends InstrumentationBase {
'winston',
winston3Versions,
moduleExports => moduleExports,
() => { },
() => {},
[
new InstrumentationNodeModuleFile<Winston3Logger>(
'winston/lib/winston/logger.js',
Expand Down Expand Up @@ -92,7 +91,7 @@ export class WinstonInstrumentation extends InstrumentationBase {
'winston',
winstonPre3Versions,
moduleExports => moduleExports,
() => { },
() => {},
[
new InstrumentationNodeModuleFile<Winston2LoggerModule>(
'winston/lib/winston/logger.js',
Expand Down Expand Up @@ -222,26 +221,29 @@ export class WinstonInstrumentation extends InstrumentationBase {
this: never,
...args: Parameters<typeof original>
) {

const config = instrumentation.getConfig();
if (!config.disableLogSending) {
if (args && args.length > 0) {
// Try to load Winston transport
try {
const { OpenTelemetryTransport } = require("@opentelemetry/winston-transport");
const {
OpenTelemetryTransportV3,
} = require('@opentelemetry/winston-transport');
const originalTransports = args[0].transports;
let newTransports = Array.isArray(originalTransports)
? originalTransports
: [];
const openTelemetryTransport = new OpenTelemetryTransport();
const openTelemetryTransport = new OpenTelemetryTransportV3();
if (originalTransports && !Array.isArray(originalTransports)) {
newTransports = [originalTransports];
}
newTransports.push(openTelemetryTransport);
args[0].transports = newTransports;
}
catch (err) {
instrumentation._diag.error('OpenTelemetry Winston transport is not available', err);
} catch (err) {
instrumentation._diag.error(
'OpenTelemetry Winston transport is not available',
err
);
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,14 @@
* limitations under the License.
*/

import type {
Logger as Winston3Logger,
LoggerOptions as Winstons3LoggerOptions,
} from 'winston';
import type { Logger as Winston3Logger } from 'winston';
import type {
LoggerInstance as Winston2Logger,
LogMethod as Winston2LogMethod,
} from 'winston2';
export type Winston3LogMethod = Winston3Logger['write'];
export type Winston3ConfigureMethod = Winston3Logger['configure'];
export type { Winston3Logger, Winstons3LoggerOptions };
export type { Winston3Logger };

export type { Winston2LogMethod };
export type Winston2LoggerModule = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ describe('WinstonInstrumentation', () => {
npm,
syslog,
cli,
};
}

function initLogger(levelsType?: LevelsType) {
const winston = require('winston');
Expand Down
7 changes: 0 additions & 7 deletions plugins/node/opentelemetry-winston-transport/CHANGELOG.md

This file was deleted.

2 changes: 1 addition & 1 deletion release-please-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
"packages/opentelemetry-redis-common": {},
"packages/opentelemetry-sql-common": {},
"packages/opentelemetry-test-utils": {},
"packages/winston-transport": {},
"plugins/node/instrumentation-amqplib": {},
"plugins/node/instrumentation-cucumber": {},
"plugins/node/instrumentation-dataloader": {},
Expand Down Expand Up @@ -56,7 +57,6 @@
"plugins/node/opentelemetry-instrumentation-restify": {},
"plugins/node/opentelemetry-instrumentation-router": {},
"plugins/node/opentelemetry-instrumentation-winston": {},
"plugins/node/opentelemetry-winston-transport": {},
"plugins/web/opentelemetry-instrumentation-document-load": {},
"plugins/web/opentelemetry-instrumentation-long-task": {},
"plugins/web/opentelemetry-instrumentation-user-interaction": {},
Expand Down