首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置Caddyfile日志格式?

如何设置Caddyfile日志格式?
EN

Stack Overflow用户
提问于 2020-04-11 09:18:28
回答 1查看 3.4K关注 0票数 1

我正在使用caddy 2作为我的代理。我试着设置我的球童日志格式。

代码语言:javascript
复制
localhost:80 {
    reverse_proxy example:80
    log {
        output net logstash:5140
        format single_field common_log
    }
}

在版本1中,有预定义格式https://caddyserver.com/v1/docs/log (来自旧版本)、、common_log、组合

然而,下面的配置不起作用。我认为,这是不可取的,就像他们的文件中所说的那样。

代码语言:javascript
复制
localhost:80 {
    reverse_proxy example:80
    log {
        output net logstash:5140
        format single_field combined_log
    }
}

但是,我想继续使用旧的日志格式,而不是json格式。然后,我尝试了多种格式,但它没有真正记录在他们的网站,也找不到在社区论坛也。

然后我尝试了多种解决方案。但是,这是行不通的。

代码语言:javascript
复制
localhost:80 {
    reverse_proxy example:80
    log {
        output net logstash:5140
        format single_field "{remote} - {user} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\""
    }
}

有人能帮我吗?就像我所期望的,格式是这样的。

代码语言:javascript
复制
"127.0.0.1 - - [10/Apr/2020:14:10:12 +0000] \"localhost\" \"GET / HTTP/1.1\" 200 236 \"-\" \"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0\""

common_log给了我输出

代码语言:javascript
复制
"10.0.0.2 - - [11/Apr/2020:08:50:01 +0000] \"GET / HTTP/1.1\" 200 236\n"

自定义输入

代码语言:javascript
复制
format single_field "{remote} - {user} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\""

"45.143.220.111 - - [11/Apr/2020:09:00:20 +0000] \"127.0.0.1\" \"GET /vtigercrm/vtigerservice.php HTTP/1.1\" 444 0 \"-\" \"libwww-perl/6.43\""
"45.143.220.111 - - [11/Apr/2020:09:00:20 +0000] \"_\" \"\\x16\\x03\\x01\\x02\\x00\\x01\\x00\\x01\\xFC\\x03\\x03\\x97s\\xD21\\x91\\xF6\\x88;\\x05\\x9C\\xFEs\\x99\\xB4\\x06\\xB6\\xC07Jd.aLC\\x9AR\\xE6\\x07\\x09\\x98\\xD6\\x1F\\x00\\x00\\xAC\\xC00\\xC0,\\xC0(\\xC0$\\xC0\\x14\\xC0\" 400 157 \"-\" \"-\""
EN

回答 1

Stack Overflow用户

发布于 2020-06-20 15:24:32

从2020/06/20开始,您不能使用官方发行版中的自定义日志格式。

但是,他们有一个名为格式编码器的模块可以做到这一点。

因此,您只需要使用caddy构建格式编码器

然后将日志格式更改为formatted,并附加一个template字符串。

template的内容是来自卡迪结构测井的参考。

例如,使用下面的config:

代码语言:javascript
复制
log {
  format formatted "{ts} {level} {request>headers>User-Agent}"
}

日志输出将如下所示:

代码语言:javascript
复制
1585597114.7687502 info ["curl/7.64.1"]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61154528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档