Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在elixir项目中设置lager_Elixir_Lager - Fatal编程技术网

如何在elixir项目中设置lager

如何在elixir项目中设置lager,elixir,lager,Elixir,Lager,我想从长生不老药项目使用 我当前的mix.exs如下 def application do [erl_opts: [parse_transform: "lager_transform"]] end defp deps do [{:lager, github: "basho/lager"}] end 我想使用lager将日志输出到文件。 如何设置日志文件路径? (启动应用程序后是否可以更改此文件路径?) 并且,我想使用 如何设置上述配置?这里有一个关于Elixir啤酒的最低设置: #

我想从长生不老药项目使用

我当前的mix.exs如下

def application do
  [erl_opts: [parse_transform: "lager_transform"]]
end

defp deps do
  [{:lager, github: "basho/lager"}]
end
我想使用lager将日志输出到文件。 如何设置日志文件路径? (启动应用程序后是否可以更改此文件路径?)

并且,我想使用
如何设置上述配置?

这里有一个关于Elixir啤酒的最低设置:

# mix.exs
def application do
  [
    applications: [:lager],
    erl_opts: [parse_transform: "lager_transform"]
  ]
end

defp deps do
  [{:lager, github: "basho/lager"}]
end

# config/config.exs
config :lager,
  log_root: '/var/log/hello',
  handlers: [
    lager_console_backend: :info,
    lager_file_backend: [file: "error.log", level: :error],
    lager_file_backend: [file: "console.log", level: :info]
  ]
如您所见,
log\u root
选项将允许您在编译时设置日志目录。我已经重新创建了上面的内容,您应该能够从这里开始,并指定所需的配置选项


在运行时无法更改日志目录和/或日志级别,我认为这是lager的缺点之一。我没有跟踪方面的经验,但上面的示例应该可以让您设置必要的配置选项。

谢谢您的回复。但是,下面的代码会引发UndefinedFunctionError<代码>:lager.error('Some message')我应该启动lager吗?我尝试使用
:lager.start
,但无法工作…在启动应用程序时,会显示以下错误消息<代码>2015-10-27 17:21:15.671[错误]主管“Elixir.Logger.Supervisor”的子项未定义以“Elixir.Logger.Watcher”开头:退出时的Watcher(错误记录程序,“Elixir.Logger.ErrorHandler”,{true,false,500},link),原因正常,上下文中的子项终止看起来您也在使用Elixir Logger?我认为最好坚持使用一种日志记录机制。您不需要手动启动lager,如果您将其放在mix.exs的应用程序列表中,它将为您完成。我从mix.exs上的应用程序中注释了logger。(
:logger,
)。但是,
:lager.error('Some message')
raise
(UndefinedFunctionError)undefined function::lager.error/1
…要记录错误,请执行以下操作:
:lager.log(:error,self,“message”)