1 use crate::context
::Context
;
2 #[cfg(not(feature = "no_logging"))]
3 use crate::error
::RenderError
;
4 use crate::helpers
::{HelperDef, HelperResult}
;
5 #[cfg(not(feature = "no_logging"))]
6 use crate::json
::value
::JsonRender
;
7 use crate::output
::Output
;
8 use crate::registry
::Registry
;
9 use crate::render
::{Helper, RenderContext}
;
10 #[cfg(not(feature = "no_logging"))]
12 #[cfg(not(feature = "no_logging"))]
13 use std
::str::FromStr
;
15 #[derive(Clone, Copy)]
18 #[cfg(not(feature = "no_logging"))]
19 impl HelperDef
for LogHelper
{
20 fn call
<'reg
: 'rc
, 'rc
>(
22 h
: &Helper
<'reg
, 'rc
>,
25 _
: &mut RenderContext
<'reg
, 'rc
>,
30 .ok_or_else(|| RenderError
::new("Param not found for helper \"log\""))?
;
33 .and_then(|v
| v
.value().as_str())
36 if let Ok(log_level
) = Level
::from_str(level
) {
40 param
.relative_path().unwrap_or(&"".to_owned()),
41 param
.value().render()
44 return Err(RenderError
::new(&format
!(
45 "Unsupported logging level {}",
53 #[cfg(feature = "no_logging")]
54 impl HelperDef
for LogHelper
{
55 fn call
<'reg
: 'rc
, 'rc
>(
60 _
: &mut RenderContext
,
67 pub static LOG_HELPER
: LogHelper
= LogHelper
;