1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
//! ## Add toggleable flexi_logger debug console view
//!
//! This crate provides utility functions, which is simplify usage of
//! `FlexiLoggerView`, providing debug console view like
//! [`Cursive::toggle_debug_console`](/cursive/latest/cursive/struct.Cursive.
//! html#method.toggle_debug_console). There is 3 functions:
//!
//! - `show_flexi_logger_debug_console`: show debug console view;
//! - `hide_flexi_logger_debug_console`: hide debug console view (if visible);
//! - `toggle_flexi_logger_debug_console`: show the debug console view, or hide
//! it if it's already visible.
use ;
use Pipe;
use crate::;
/// Show the flexi_logger debug console.
///
/// This is analog to
/// [`Cursive::show_debug_console`](/cursive/latest/cursive/struct.Cursive.html#
/// method.show_debug_console).
///
/// # Add binding to show flexi_logger debug view
///
/// ```rust
/// use cursive::{Cursive, CursiveExt};
/// use cursive_logger_view::toggle::show_flexi_logger_debug_console;
/// use flexi_logger::Logger;
///
/// // we need to initialize cursive first, as the cursive-logger-view
/// // needs a cursive callback sink to notify cursive about screen refreshs
/// // when a new log message arrives
/// let mut siv = Cursive::default();
///
/// Logger::try_with_env_or_str("trace")
/// .expect("Could not create Logger from environment :(")
/// .log_to_file_and_writer(
/// flexi_logger::FileSpec::default()
/// .directory("logs")
/// .suppress_timestamp(),
/// cursive_logger_view::boxed_flexi_log_writer(&siv)
/// )
/// .start()
/// .expect("failed to initialize logger!");
///
/// siv.add_global_callback('~', show_flexi_logger_debug_console); // Add binding to show flexi_logger debug view
///
/// // siv.run();
/// ```
/// Hide the flexi_logger debug console (if visible).
///
/// # Add binding to hide flexi_logger debug view
///
/// ```rust
/// use cursive::{Cursive, CursiveExt};
/// use cursive_logger_view::toggle::hide_flexi_logger_debug_console;
/// use flexi_logger::Logger;
/// // we need to initialize cursive first, as the cursive-logger-view
/// // needs a cursive callback sink to notify cursive about screen refreshs
/// // when a new log message arrives
/// let mut siv = Cursive::default();
///
/// Logger::try_with_env_or_str("trace")
/// .expect("Could not create Logger from environment :(")
/// .log_to_file_and_writer(
/// flexi_logger::FileSpec::default()
/// .directory("logs")
/// .suppress_timestamp(),
/// cursive_logger_view::boxed_flexi_log_writer(&siv)
/// )
/// .start()
/// .expect("failed to initialize logger!");
///
/// siv.add_global_callback('~', hide_flexi_logger_debug_console); // Add binding to hide flexi_logger debug view
///
/// // siv.run();
/// ```
/// Show the flexi_logger debug console, or hide it if it's already visible.
///
/// This is analog to
/// [`Cursive::toggle_debug_console`](/cursive/latest/cursive/struct.Cursive.
/// html#method.toggle_debug_console).
///
/// # Enable toggleable flexi_logger debug view
///
/// ```rust
/// use cursive::{Cursive, CursiveExt};
/// use cursive_logger_view::toggle::toggle_flexi_logger_debug_console;
/// use flexi_logger::Logger;
/// // we need to initialize cursive first, as the cursive-logger-view
/// // needs a cursive callback sink to notify cursive about screen refreshs
/// // when a new log message arrives
/// let mut siv = Cursive::default();
///
/// Logger::try_with_env_or_str("trace")
/// .expect("Could not create Logger from environment :(")
/// .log_to_file_and_writer(
/// flexi_logger::FileSpec::default()
/// .directory("logs")
/// .suppress_timestamp(),
/// cursive_logger_view::boxed_flexi_log_writer(&siv)
/// )
/// .start()
/// .expect("failed to initialize logger!");
///
/// siv.add_global_callback('~', toggle_flexi_logger_debug_console); // Enable toggleable flexi_logger debug view
///
/// // siv.run();
/// ```