Changeset - dda9cb591b33
[Not reviewed]
MH - 3 years ago 2022-05-16 01:14:22
contact@maxhenger.nl
Add support for log level to bin-compiler
3 files changed with 19 insertions and 7 deletions:
0 comments (0 inline, 0 general)
.gitignore
Show inline comments
 
@@ -6,12 +6,13 @@ notes_*.md
 
Cargo.lock
 
target
 
**/*.rs.bk
 

	
 
# IDEs
 
/.idea
 
bin-compiler/.idea
 

	
 
# Binaries
 
main
 

	
 
# Examples
 
examples/*/*.exe
bin-compiler/src/main.rs
Show inline comments
 
@@ -24,16 +24,18 @@ fn main() {
 
                .short('t')
 
                .help("number of runtime threads")
 
                .default_value("1")
 
                .takes_value(true)
 
        )
 
        .arg(
 
            Arg::new("debug")
 
                .long("debug")
 
                .short('d')
 
                .help("enable debug logging")
 
            Arg::new("loglevel")
 
                .long("log_level")
 
                .short('l')
 
                .help("set log level ('none', 'info', 'debug' or 'all')")
 
                .default_value("all")
 
                .takes_value(true)
 
        )
 
        .arg(
 
            Arg::new("stdlib")
 
                .long("stdlib")
 
                .short('s')
 
                .help("standard library directory (overrides default)")
 
@@ -61,13 +63,22 @@ fn main() {
 
        Err(err) => {
 
            println!("ERROR: Failed to parse number of threads\nbecause: {}", err);
 
            return;
 
        }
 
    };
 

	
 
    let debug_enabled = app.is_present("debug");
 
    let log_level = app.value_of("loglevel").unwrap();
 
    let log_level = match log_level {
 
        "none" | "None" => rw::runtime2::LogLevel::None,
 
        "debug" | "Debug" => rw::runtime2::LogLevel::Debug,
 
        "info" | "Info" | "all" | "All" => rw::runtime2::LogLevel::Info,
 
        _ => {
 
            println!("ERROR: Unexpected log level");
 
            return;
 
        }
 
    };
 

	
 
    let standard_library_dir = app.value_of("stdlib")
 
        .map(|v| v.to_string());
 

	
 
    // Add input files to file buffer
 
    let input_files = input_files.unwrap();
 
@@ -111,13 +122,13 @@ fn main() {
 
    };
 

	
 
    println!("Success");
 

	
 
    // Start runtime
 
    print!("Startup of runtime ... ");
 
    let runtime = rw::runtime2::Runtime::new(num_threads, debug_enabled, protocol_description);
 
    let runtime = rw::runtime2::Runtime::new(num_threads, log_level, protocol_description);
 
    if let Err(err) = &runtime {
 
        println!("FAILED\nbecause:\n{}", err);
 
    }
 
    println!("Success");
 

	
 
    // Make sure there is a nameless module with a main component
src/runtime2/mod.rs
Show inline comments
 
@@ -5,13 +5,13 @@ mod component;
 
mod communication;
 
mod scheduler;
 
mod poll;
 
mod stdlib;
 
#[cfg(test)] mod tests;
 

	
 
pub use runtime::Runtime;
 
pub use runtime::{Runtime, LogLevel};
 
pub(crate) use error::RtError;
 
pub(crate) use scheduler::SchedulerCtx;
 
pub(crate) use communication::{
 
    PortId,
 
    Message, ControlMessage, SyncMessage, DataMessage,
 
    SyncRoundDecision
0 comments (0 inline, 0 general)