/hg/icedtea-web: Implemented basic stub for file logging

jvanek at icedtea.classpath.org jvanek at icedtea.classpath.org
Sat Feb 16 19:57:54 UTC 2019


changeset 65de3b40a457 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=65de3b40a457
author: Jiri Vanek <jvanek at redhat.com>
date: Sat Feb 16 20:56:33 2019 +0100

	Implemented basic stub for file logging

	* rust-launcher/src/log_helper.rs: extracted log_impl from os.Implemented (always on for now) call to log to file
	* rust-launcher/src/main.rs: made aware of new log_hlper module
	* rust-launcher/src/os_access.rs: adapted to log_helper. Added forgotten is_verbose to windows os impl.


diffstat:

 ChangeLog                       |  10 ++++++++
 rust-launcher/src/log_helper.rs |  46 +++++++++++++++++++++++++++++++++++++++++
 rust-launcher/src/main.rs       |   1 +
 rust-launcher/src/os_access.rs  |  27 ++++++++----------------
 4 files changed, 66 insertions(+), 18 deletions(-)

diffs (143 lines):

diff -r 6bf82af023c1 -r 65de3b40a457 ChangeLog
--- a/ChangeLog	Sat Feb 16 18:51:33 2019 +0100
+++ b/ChangeLog	Sat Feb 16 20:56:33 2019 +0100
@@ -1,3 +1,13 @@
+2019-02-16  Jiri Vanek <jvanek at redhat.com>
+
+	Implemented basic stub for file logging
+	* rust-launcher/src/log_helper.rs: extracted log_impl from os.
+	Implemented (always on for now) call to log to file
+	* rust-launcher/src/main.rs: made aware of new log_hlper module
+	* rust-launcher/src/os_access.rs: adapted to log_helper. Added forgotten is_verbose
+	to windows os impl.
+
+
 2019-02-16  Jiri Vanek <jvanek at redhat.com>
 
 	* rust-launcher/src/os_access.rs: removed duplicated code from windows launchers
diff -r 6bf82af023c1 -r 65de3b40a457 rust-launcher/src/log_helper.rs
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rust-launcher/src/log_helper.rs	Sat Feb 16 20:56:33 2019 +0100
@@ -0,0 +1,46 @@
+use os_access;
+use std::fs::OpenOptions;
+use std::io::Write;
+use std::time::SystemTime;
+use std::time::UNIX_EPOCH;
+use std::fs::File;
+
+static mut first: bool = true;
+
+//0 critical
+//1 info
+//2 debug only
+pub fn log_impl(level: i32, os: &os_access::Os, s: &str) {
+    if level == 0 {} else if level == 1 {
+        println!("{}", s);
+    } else if level == 2 {
+        if os.is_verbose() {
+            println!("{}", s);
+        }
+    }
+    unsafe {
+        if first {
+            //mkdir
+            //createfile
+            //rust itw log initiate dor so
+            first = false;
+            let start = SystemTime::now();
+            let t = start.duration_since(UNIX_EPOCH).expect("time should be measureable");
+            let mut file = File::create("my-file").expect("failed to create file log");
+            if let Err(e) = write!(&mut file, "itw-rust-debug: file log started: {}\n", t.as_secs()) {
+                println!("Couldn't write to file: {}", e);
+            }
+            file.sync_all();
+        }
+    }
+    let mut file = OpenOptions::new()
+        .write(true)
+        .append(true)
+        .open("my-file")
+        .expect("failed to append to file log");
+
+    if let Err(e) = writeln!(&mut file, "{}", s) {
+        println!("Couldn't write to file: {}", e);
+    }
+    file.sync_all();
+}
\ No newline at end of file
diff -r 6bf82af023c1 -r 65de3b40a457 rust-launcher/src/main.rs
--- a/rust-launcher/src/main.rs	Sat Feb 16 18:51:33 2019 +0100
+++ b/rust-launcher/src/main.rs	Sat Feb 16 20:56:33 2019 +0100
@@ -6,6 +6,7 @@
 mod utils;
 mod property;
 mod jars_helper;
+mod log_helper;
 
 use std::string::String;
 use std::fmt::Write;
diff -r 6bf82af023c1 -r 65de3b40a457 rust-launcher/src/os_access.rs
--- a/rust-launcher/src/os_access.rs	Sat Feb 16 18:51:33 2019 +0100
+++ b/rust-launcher/src/os_access.rs	Sat Feb 16 20:56:33 2019 +0100
@@ -2,6 +2,7 @@
 use dirs_paths_helper;
 use std::env;
 use std::fmt::Write;
+use log_helper;
 
 pub fn create_java_cmd(os: &Os,jre_dir: &std::path::PathBuf, args: &Vec<String>) -> std::process::Command {
     let mut bin_java = jre_dir.clone();
@@ -29,20 +30,6 @@
                  java executable: [{}], arguments: [{:?}]", jre_dir.clone().into_os_string().to_str().expect("path should unwrap"), args)
     }
 }
-//0 critical
-//1 info
-//2 debug only
-fn log_impl(level: i32, os: &Os, s: &str) {
-    if level == 0 {
-
-    } else if level == 1 {
-        println!("{}", s);
-    } else if level == 2 {
-        if os.is_verbose() {
-            println!("{}", s);
-        }
-    }
-}
 
 pub trait Os {
     // logging "api" can change
@@ -88,11 +75,11 @@
 
 
     fn log(&self, s: &str) {
-        log_impl(2,self, s);
+        log_helper::log_impl(2,self, s);
     }
 
     fn info(&self, s: &str) {
-        log_impl(1,self, s);
+        log_helper::log_impl(1,self, s);
     }
 
     fn get_registry_jdk(&self) -> Option<std::path::PathBuf> {
@@ -176,11 +163,15 @@
 #[cfg(windows)]
 impl Os for Windows {
     fn log(&self, s: &str) {
-        log_impl(2,self, s);
+        log_helper::log_impl(2,self, s);
     }
 
     fn info(&self, s: &str) {
-        log_impl(1,self, s);
+        log_helper::log_impl(1,self, s);
+    }
+
+    fn is_verbose(&self) -> bool {
+        return self.verbose;
     }
 
     fn get_registry_jdk(&self) -> Option<std::path::PathBuf> {


More information about the distro-pkg-dev mailing list