Skip to content

Commit d9511b7

Browse files
committed
Fix file writer log file creation
1 parent 22e5122 commit d9511b7

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

RELEASES.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# NautilusTrader 1.187.0 Beta
22

3-
Released on TBD (UTC).
3+
Released on 9th February 2024 (UTC).
44

55
### Enhancements
66
- Refined logging system module and writers in Rust, thanks @ayush-sb and @twitu
@@ -11,6 +11,8 @@ Released on TBD (UTC).
1111

1212
### Fixes
1313
- Fixed `BacktestEngine` and `Trader` disposal (now properly releasing resources), thanks for reporting @davidsblom
14+
- Fixed circular import issues from configuration objects, thanks for reporting @cuberone
15+
- Fixed unnecessary creation of log files when file logging off
1416

1517
---
1618

examples/live/binance/binance_spot_market_maker.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
logging=LoggingConfig(
4444
log_level="INFO",
4545
# log_level_file="DEBUG",
46-
# log_colors=False,
46+
# log_file_format="json",
4747
),
4848
exec_engine=LiveExecEngineConfig(
4949
reconciliation=True,

nautilus_core/common/src/logging/mod.rs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ impl LogLineWrapper {
318318
}
319319
}
320320

321-
pub fn get_string(&mut self) -> &String {
321+
pub fn get_string(&mut self) -> &str {
322322
self.cache.get_or_insert_with(|| {
323323
format!(
324324
"{} [{}] {}.{}: {}\n",
@@ -331,7 +331,7 @@ impl LogLineWrapper {
331331
})
332332
}
333333

334-
pub fn get_colored(&mut self) -> &String {
334+
pub fn get_colored(&mut self) -> &str {
335335
self.colored.get_or_insert_with(|| {
336336
format!(
337337
"\x1b[1m{}\x1b[0m {}[{}] {}.{}: {}\x1b[0m\n",
@@ -366,7 +366,6 @@ impl Log for Logger {
366366
}
367367

368368
fn log(&self, record: &log::Record) {
369-
// TODO remove unwraps
370369
if self.enabled(record.metadata()) {
371370
let key_values = record.key_values();
372371
let color = key_values
@@ -469,8 +468,13 @@ impl Logger {
469468
// Setup std I/O buffers
470469
let mut stdout_writer = StdoutWriter::new(stdout_level, is_colored);
471470
let mut stderr_writer = StderrWriter::new(is_colored);
472-
let mut file_writer =
473-
FileWriter::new(trader_id.clone(), instance_id, file_config, fileout_level);
471+
472+
// Conditionally create file writer based on fileout_level
473+
let mut file_writer_opt = if fileout_level != LevelFilter::Off {
474+
FileWriter::new(trader_id.clone(), instance_id, file_config, fileout_level)
475+
} else {
476+
None
477+
};
474478

475479
// Continue to receive and handle log events until channel is hung up
476480
while let Ok(event) = rx.recv() {
@@ -515,7 +519,7 @@ impl Logger {
515519
stdout_writer.flush();
516520
}
517521

518-
if let Some(ref mut writer) = file_writer {
522+
if let Some(ref mut writer) = file_writer_opt {
519523
if writer.enabled(&wrapper.line) {
520524
if writer.json_format {
521525
writer.write(&wrapper.get_json());

0 commit comments

Comments
 (0)