Skip to content

Commit 9d1441c

Browse files
authored
Merge pull request #388 from SteveL-MSFT/tracing-lines
Only emit source information for trace level `debug` and `trace`
2 parents 52121a3 + c5a75e9 commit 9d1441c

File tree

2 files changed

+27
-4
lines changed

2 files changed

+27
-4
lines changed

dsc/src/util.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -272,26 +272,30 @@ pub fn enable_tracing(trace_level: &TraceLevel, trace_format: &TraceFormat) {
272272
.add_directive(tracing_level.into());
273273
let indicatif_layer = IndicatifLayer::new();
274274
let layer = tracing_subscriber::fmt::Layer::default().with_writer(indicatif_layer.get_stderr_writer());
275+
let with_source = tracing_level == Level::DEBUG || tracing_level == Level::TRACE;
275276
let fmt = match trace_format {
276277
TraceFormat::Default => {
277278
layer
278279
.with_ansi(true)
279280
.with_level(true)
280-
.with_line_number(true)
281+
.with_target(with_source)
282+
.with_line_number(with_source)
281283
.boxed()
282284
},
283285
TraceFormat::Plaintext => {
284286
layer
285287
.with_ansi(false)
286288
.with_level(true)
287-
.with_line_number(false)
289+
.with_target(with_source)
290+
.with_line_number(with_source)
288291
.boxed()
289292
},
290293
TraceFormat::Json => {
291294
layer
292295
.with_ansi(false)
293296
.with_level(true)
294-
.with_line_number(true)
297+
.with_target(with_source)
298+
.with_line_number(with_source)
295299
.json()
296300
.boxed()
297301
}

dsc/tests/dsc_tracing.tests.ps1

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Describe 'tracing tests' {
77
# @{ level = 'WARNING' } TODO: currently no warnings are emitted
88
@{ level = 'info' }
99
@{ level = 'debug' }
10-
# @{ level = 'trace' } TODO: currently no trace is emitted
10+
@{ level = 'trace' }
1111
) {
1212
param($level)
1313

@@ -44,4 +44,23 @@ Describe 'tracing tests' {
4444
$trace.fields.message | Should -Not -BeNullOrEmpty
4545
}
4646
}
47+
48+
It 'trace level <level> emits source info: <sourceExpected>' -TestCases @(
49+
@{ level = 'error'; sourceExpected = $false }
50+
@{ level = 'warning'; sourceExpected = $false }
51+
@{ level = 'info'; sourceExpected = $false }
52+
@{ level = 'debug'; sourceExpected = $true }
53+
@{ level = 'trace'; sourceExpected = $true }
54+
) {
55+
param($level, $sourceExpected)
56+
57+
$logPath = "$TestDrive/dsc_trace.log"
58+
$null = '{}' | dsc -l $level resource get -r 'DoesNotExist' 2> $logPath
59+
$log = Get-Content $logPath -Raw
60+
if ($sourceExpected) {
61+
$log | Should -BeLike "*dsc*: *"
62+
} else {
63+
$log | Should -Not -BeLike "*dsc*: *"
64+
}
65+
}
4766
}

0 commit comments

Comments
 (0)