diff options
| author | Arkaitz Jimenez <arkaitzj@gmail.com> | 2012-06-04 01:53:24 +0100 |
|---|---|---|
| committer | Arkaitz Jimenez <arkaitzj@gmail.com> | 2012-06-04 01:53:24 +0100 |
| commit | dad300758486b59ac1356d55dbc2accd8e8d9720 (patch) | |
| tree | d58c8671852afaa4bd69f32af2cad7c985cff842 /src/rt/rust_log.cpp | |
| parent | 0ecf20c99a43d0d258b08ebbd62526b69f013794 (diff) | |
| download | rust-dad300758486b59ac1356d55dbc2accd8e8d9720.tar.gz rust-dad300758486b59ac1356d55dbc2accd8e8d9720.zip | |
Moved log method into logger class better than scheduler fixes #2495
Diffstat (limited to 'src/rt/rust_log.cpp')
| -rw-r--r-- | src/rt/rust_log.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/rt/rust_log.cpp b/src/rt/rust_log.cpp index 29d35e27c21..774a549fe8b 100644 --- a/src/rt/rust_log.cpp +++ b/src/rt/rust_log.cpp @@ -90,6 +90,22 @@ append_string(char *buffer, const char *format, ...) { } void +rust_log::log(rust_task* task, uint32_t level, char const *fmt, ...) { + char buf[BUF_BYTES]; + va_list args; + va_start(args, fmt); + int formattedbytes = vsnprintf(buf, sizeof(buf), fmt, args); + if( formattedbytes and (unsigned)formattedbytes > BUF_BYTES ){ + const char truncatedstr[] = "[...]"; + memcpy( &buf[BUF_BYTES-sizeof(truncatedstr)], + truncatedstr, + sizeof(truncatedstr)); + } + trace_ln(task, level, buf); + va_end(args); +} + +void rust_log::trace_ln(char *prefix, char *message) { char buffer[BUF_BYTES] = ""; _log_lock.lock(); @@ -302,6 +318,7 @@ void update_log_settings(void* crate_map, char* settings) { free(buffer); } + // // Local Variables: // mode: C++ |
