Improve logging

This commit is contained in:
Jeff 2024-02-18 04:18:19 -05:00
parent f835f2817f
commit d4a5424ad5
3 changed files with 13 additions and 4 deletions

View File

@ -52,7 +52,7 @@ impl SyntaxError {
} }
pub fn expect_syntax_node(expected: &str, actual: SyntaxNode) -> Result<(), SyntaxError> { pub fn expect_syntax_node(expected: &str, actual: SyntaxNode) -> Result<(), SyntaxError> {
log::info!("Converting {} to abstract node", actual.kind()); log::trace!("Converting {} to abstract node", actual.kind());
if expected == actual.kind() { if expected == actual.kind() {
Ok(()) Ok(())

View File

@ -88,7 +88,7 @@ impl Interpreter {
.expect("Language version is incompatible with tree sitter version."); .expect("Language version is incompatible with tree sitter version.");
parser.set_logger(Some(Box::new(|_log_type, message| { parser.set_logger(Some(Box::new(|_log_type, message| {
log::debug!("{}", message) log::trace!("{}", message)
}))); })));
Interpreter { parser, context } Interpreter { parser, context }

View File

@ -1,6 +1,7 @@
//! Command line interface for the dust programming language. //! Command line interface for the dust programming language.
use clap::{Parser, Subcommand}; use clap::{Parser, Subcommand};
use colored::Colorize;
use crossterm::event::{KeyCode, KeyModifiers}; use crossterm::event::{KeyCode, KeyModifiers};
use nu_ansi_term::{Color, Style}; use nu_ansi_term::{Color, Style};
use reedline::{ use reedline::{
@ -8,7 +9,7 @@ use reedline::{
Reedline, ReedlineEvent, ReedlineMenu, Signal, Span, SqliteBackedHistory, Suggestion, Reedline, ReedlineEvent, ReedlineMenu, Signal, Span, SqliteBackedHistory, Suggestion,
}; };
use std::{borrow::Cow, fs::read_to_string, path::PathBuf, process::Command}; use std::{borrow::Cow, fs::read_to_string, io::Write, path::PathBuf, process::Command};
use dust_lang::{ use dust_lang::{
built_in_values::all_built_in_values, Context, ContextMode, Error, Interpreter, Value, built_in_values::all_built_in_values, Context, ContextMode, Error, Interpreter, Value,
@ -41,7 +42,15 @@ pub enum CliCommand {
} }
fn main() { fn main() {
env_logger::init(); env_logger::Builder::from_env("DUST_LOG")
.format(|buffer, record| {
let args = record.args();
let log_level = record.level().to_string().bold();
let timestamp = buffer.timestamp_seconds().to_string().dimmed();
writeln!(buffer, "[{log_level} {timestamp}] {args}")
})
.init();
let args = Args::parse(); let args = Args::parse();
let context = Context::new(ContextMode::AllowGarbage); let context = Context::new(ContextMode::AllowGarbage);