projects
/
rust-lightning
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Panic if we're running with outdated state instead of force-closing
[rust-lightning]
/
lightning
/
src
/
util
/
logger.rs
diff --git
a/lightning/src/util/logger.rs
b/lightning/src/util/logger.rs
index 103f89891cf30115c238f0a9494379c8e6719169..ff576e26ddf4ca485d648c943ad3f36384b30653 100644
(file)
--- a/
lightning/src/util/logger.rs
+++ b/
lightning/src/util/logger.rs
@@
-17,6
+17,9
@@
use core::cmp;
use core::fmt;
use core::cmp;
use core::fmt;
+#[cfg(c_bindings)]
+use prelude::*; // Needed for String
+
static LOG_LEVEL_NAMES: [&'static str; 6] = ["GOSSIP", "TRACE", "DEBUG", "INFO", "WARN", "ERROR"];
/// An enum representing the available verbosity levels of the logger.
static LOG_LEVEL_NAMES: [&'static str; 6] = ["GOSSIP", "TRACE", "DEBUG", "INFO", "WARN", "ERROR"];
/// An enum representing the available verbosity levels of the logger.
@@
-86,32
+89,45
@@
impl Level {
/// A Record, unit of logging output with Metadata to enable filtering
/// Module_path, file, line to inform on log's source
/// A Record, unit of logging output with Metadata to enable filtering
/// Module_path, file, line to inform on log's source
-/// (C-not exported) - we convert to a const char* instead
-#[derive(Clone,Debug)]
+#[derive(Clone, Debug)]
pub struct Record<'a> {
/// The verbosity level of the message.
pub level: Level,
pub struct Record<'a> {
/// The verbosity level of the message.
pub level: Level,
+ #[cfg(not(c_bindings))]
/// The message body.
pub args: fmt::Arguments<'a>,
/// The message body.
pub args: fmt::Arguments<'a>,
+ #[cfg(c_bindings)]
+ /// The message body.
+ pub args: String,
/// The module path of the message.
/// The module path of the message.
- pub module_path: &'
a
str,
+ pub module_path: &'
static
str,
/// The source file containing the message.
/// The source file containing the message.
- pub file: &'
a
str,
+ pub file: &'
static
str,
/// The line containing the message.
pub line: u32,
/// The line containing the message.
pub line: u32,
+
+ #[cfg(c_bindings)]
+ /// We don't actually use the lifetime parameter in C bindings (as there is no good way to
+ /// communicate a lifetime to a C, or worse, Java user).
+ _phantom: core::marker::PhantomData<&'a ()>,
}
impl<'a> Record<'a> {
/// Returns a new Record.
/// (C-not exported) as fmt can't be used in C
#[inline]
}
impl<'a> Record<'a> {
/// Returns a new Record.
/// (C-not exported) as fmt can't be used in C
#[inline]
- pub fn new(level: Level, args: fmt::Arguments<'a>, module_path: &'
a str, file: &'a
str, line: u32) -> Record<'a> {
+ pub fn new(level: Level, args: fmt::Arguments<'a>, module_path: &'
static str, file: &'static
str, line: u32) -> Record<'a> {
Record {
level,
Record {
level,
+ #[cfg(not(c_bindings))]
args,
args,
+ #[cfg(c_bindings)]
+ args: format!("{}", args),
module_path,
file,
module_path,
file,
- line
+ line,
+ #[cfg(c_bindings)]
+ _phantom: core::marker::PhantomData,
}
}
}
}
}
}