|
14 | 14 | * limitations under the License. |
15 | 15 | */ |
16 | 16 |
|
17 | | -import { diag } from '@opentelemetry/api'; |
| 17 | +import { diag, DiagLogLevel } from '@opentelemetry/api'; |
18 | 18 | import { HttpInstrumentationConfig } from '@opentelemetry/instrumentation-http'; |
19 | 19 | import * as assert from 'assert'; |
20 | 20 | import * as sinon from 'sinon'; |
21 | 21 | import { getNodeAutoInstrumentations } from '../src'; |
22 | | -import { getResourceDetectorsFromEnv } from '../src/utils'; |
| 22 | +import { getLogLevelFromEnv, getResourceDetectorsFromEnv } from '../src/utils'; |
23 | 23 |
|
24 | 24 | describe('utils', () => { |
25 | 25 | describe('getNodeAutoInstrumentations', () => { |
@@ -223,4 +223,44 @@ describe('utils', () => { |
223 | 223 | delete process.env.OTEL_NODE_RESOURCE_DETECTORS; |
224 | 224 | }); |
225 | 225 | }); |
| 226 | + |
| 227 | + describe('getLogLevelFromEnv', function () { |
| 228 | + afterEach(function () { |
| 229 | + delete process.env.OTEL_LOG_LEVEL; |
| 230 | + }); |
| 231 | + |
| 232 | + it('should select log level based on env var', function () { |
| 233 | + process.env.OTEL_LOG_LEVEL = 'NONE'; |
| 234 | + assert.strictEqual(getLogLevelFromEnv(), DiagLogLevel.NONE); |
| 235 | + process.env.OTEL_LOG_LEVEL = 'VERBOSE'; |
| 236 | + assert.strictEqual(getLogLevelFromEnv(), DiagLogLevel.VERBOSE); |
| 237 | + process.env.OTEL_LOG_LEVEL = 'DEBUG'; |
| 238 | + assert.strictEqual(getLogLevelFromEnv(), DiagLogLevel.DEBUG); |
| 239 | + process.env.OTEL_LOG_LEVEL = 'INFO'; |
| 240 | + assert.strictEqual(getLogLevelFromEnv(), DiagLogLevel.INFO); |
| 241 | + process.env.OTEL_LOG_LEVEL = 'WARN'; |
| 242 | + assert.strictEqual(getLogLevelFromEnv(), DiagLogLevel.WARN); |
| 243 | + process.env.OTEL_LOG_LEVEL = 'ERROR'; |
| 244 | + assert.strictEqual(getLogLevelFromEnv(), DiagLogLevel.ERROR); |
| 245 | + process.env.OTEL_LOG_LEVEL = 'ALL'; |
| 246 | + assert.strictEqual(getLogLevelFromEnv(), DiagLogLevel.ALL); |
| 247 | + }); |
| 248 | + |
| 249 | + it('should ignore casing', function () { |
| 250 | + process.env.OTEL_LOG_LEVEL = 'warn'; |
| 251 | + assert.strictEqual(getLogLevelFromEnv(), DiagLogLevel.WARN); |
| 252 | + process.env.OTEL_LOG_LEVEL = 'WaRN'; |
| 253 | + assert.strictEqual(getLogLevelFromEnv(), DiagLogLevel.WARN); |
| 254 | + }); |
| 255 | + |
| 256 | + it('should fall back to INFO on bogus input', function () { |
| 257 | + process.env.OTEL_LOG_LEVEL = 'bogus'; |
| 258 | + assert.strictEqual(getLogLevelFromEnv(), DiagLogLevel.INFO); |
| 259 | + }); |
| 260 | + |
| 261 | + it('should use INFO when unset', function () { |
| 262 | + delete process.env.OTEL_LOG_LEVEL; |
| 263 | + assert.strictEqual(getLogLevelFromEnv(), DiagLogLevel.INFO); |
| 264 | + }); |
| 265 | + }); |
226 | 266 | }); |
0 commit comments