Elixir 1.5参考手册
登录 | Logger
Logger.Formatter
为日志格式化数据的方便性。
此模块允许开发人员指定用作日志消息模板的字符串,例如:
$time $metadata[$level] $message\n将将错误消息打印为:
18:43:12.439 user_id=13 [error] Hello\n可以使用的有效参数有:
- 
$time-发送日志消息的时间
- 
$date-日志消息发送的日期
- 
$message-日志信息
- 
$level-原木水平
- 
$node-打印消息的节点
- 
$metadata-用户控制的数据"key=val key2=val2"格式
- 
$levelpad-如果级别为4个字符长,则设置为单个空格,否则设置为空空间。用于在级别之后对齐消息。
后端通常允许开发人员通过配置文件提供此类控制字符串。本模块提供compile/1,它将字符串编译为运行时快速操作的格式,并且format/5将编译的模式格式化为实际的IO数据。
元数据
要发送给记录器的元数据可以用Logger.metadata/0和Logger.metadata/1职能。例如,您可以设置Logger.metadata([user_id: 13])添加用户[医]ID元数据到当前进程。用户可以将后端配置为选择要打印的元数据,并替换$metadata价值。
类型
pattern()time()
=
函数
compile(str)
将格式字符串编译为format/5能处理
format(config, level, msg, ts, md)
采用已编译的格式,并注入、级别、时间戳、消息和元数据列表,并返回格式正确的字符串。
prune(binary)
修剪无效的utf-8码点
pattern()
pattern ::
  :date |
  :level |
  :levelpad |
  :message |
  :metadata |
  :node |
  :timetime()
time() :: {{1970..10000, 1..12, 1..31}, {0..23, 0..59, 0..59, 0..999}}compile(str)
compile({atom, atom}) :: {atom, atom}compile(binary | nil) :: [pattern | binary]将格式字符串编译为format/5可以应付。
检查模块文档以获得有关有效参数的文档。如果你通过nil,默认为:$time $metadata [$level] $levelpad$message\n
如果您想让您自己的自定义格式化程序简单地传递{module, function}到compile/1其余的都处理好了。
iex> Logger.Formatter.compile("$time $metadata [$level] $message\n")
[:time, " ", :metadata, " [", :level, "] ", :message, "\n"]format(config, level, msg, ts, md)
format({atom, atom} | [pattern | binary], Logger.level, Logger.message, time, keyword) :: IO.chardata采用编译后的格式,注入、级别、时间戳、消息和元数据列表,并返回格式正确的字符串。
prune(binary)
prune(IO.chardata) :: IO.chardata修剪无效的UTF-8码点.
通常在无法打印数据时在格式化后调用。
登录 | Logger相关
 
                                Elixir 基于 Erlang 虚拟机的函数式、面向并行,是一种较好的编程语言。它以 Erlang 为基础,支持分布式、高容错、实时应用程序的开发。
| 主页 | https://elixir-lang.org/ | 
| 源码 | https://github.com/elixir-lang/elixir | 
| 版本 | 1.5 | 
| 发布版本 | 1.5.2 | 
 
         加载中,请稍侯......
 加载中,请稍侯......