diff options
| author | Brian Anderson <andersrb@gmail.com> | 2012-06-03 18:34:59 -0700 |
|---|---|---|
| committer | Brian Anderson <andersrb@gmail.com> | 2012-06-03 18:34:59 -0700 |
| commit | b2ae333917c1ff0293fa93afa335e17608d0ca6e (patch) | |
| tree | 96dbbf5116fb40f4dc2c0c7a542ff99f1df6d371 /src/rt/rust_log.cpp | |
| parent | 9826541c0e5c1df9000bd9811215857249cd0376 (diff) | |
| parent | dad300758486b59ac1356d55dbc2accd8e8d9720 (diff) | |
Merge pull request #2496 from arkaitzj/log_cleanup
Moved log method into logger class better than scheduler
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++ |
