针对特定的Docker容器自定义日志格式
首先确保系统安装了jq 命令, 用jq 格式JSON日志,很方便查看日志。
通过 -log-opt tag=“你的个性化标签”
如下面描述:
–log-opt tag=“fyy-service/{{.ImageName}}/{{.Name}}/{{.ID}}”
最终,json-file日志插件将容器打印到控制台的日志生成到本地 /var/lib/docker/containers/*/目录中,为json格式,如下:
docker stop test;docker rm test;docker run -d --name test --log-opt tag="fyy-service/{{.ImageName}}/{{.Name}}/{{.ID}}" nexus.example.com:2443/maven-java-demo-czq:0.0.5
cd /var/lib/docker/containers;
[[email protected] 66f4ddfda083f36b7fa67fb795e6d4bcc9141ad92f4298f292ed4e15cdc46305]# ls
66f4ddfda083f36b7fa67fb795e6d4bcc9141ad92f4298f292ed4e15cdc46305-json.log checkpoints config.v2.json hostconfig.json hostname hosts mounts resolv.conf resolv.conf.hash
[[email protected] 66f4ddfda083f36b7fa67fb795e6d4bcc9141ad92f4298f292ed4e15cdc46305]#
more 66f4ddfda083f36b7fa67fb795e6d4bcc9141ad92f4298f292ed4e15cdc46305-json.log | jq
{
"log": "starter.sh version 2019.02.04\n",
"stream": "stdout",
"attrs": {
"tag": "fyy-service/nexus.example.com:2443/maven-java-demo-czq:0.0.5/test/66f4ddfda083"
},
"time": "2019-04-29T02:54:39.493741707Z"
}
{
"log": "starting sshd for remote login... 支持自定义用户root密码, 可以通过SSHD_PASSWORD环境变量传入修改默认的root密码\n",
"stream": "stdout",
"attrs": {
"tag": "fyy-service/nexus.example.com:2443/maven-java-demo-czq:0.0.5/test/66f4ddfda083"
},
"time": "2019-04-29T02:54:39.495818097Z"
}
{
"log": "downloadURL=\n",
"stream": "stdout",
"attrs": {
"tag": "fyy-service/nexus.example.com:2443/maven-java-demo-czq:0.0.5/test/66f4ddfda083"
},
"time": "2019-04-29T02:54:39.496033293Z"
}
{
"log": "=> Found authorized keys\n",
"stream": "stdout",
"attrs": {
"tag": "fyy-service/nexus.example.com:2443/maven-java-demo-czq:0.0.5/test/66f4ddfda083"
},
"time": "2019-04-29T02:54:39.496590364Z"
}
{
"log": "downloadFileName=\n",
"stream": "stdout",
"attrs": {
"tag": "fyy-service/nexus.example.com:2443/maven-java-demo-czq:0.0.5/test/66f4ddfda083"
},
"time": "2019-04-29T02:54:39.498070973Z"
}
{
"log": "protocal=none\n",
"stream": "stdout",
"attrs": {
"tag": "fyy-service/nexus.example.com:2443/maven-java-demo-czq:0.0.5/test/66f4ddfda083"
},
"time": "2019-04-29T02:54:39.4981817Z"
}
{
"log": "mkdir: can't create directory 'docker_app': File exists\n",
"stream": "stderr",
"attrs": {
"tag": "fyy-service/nexus.example.com:2443/maven-java-demo-czq:0.0.5/test/66f4ddfda083"
},
"time": "2019-04-29T02:54:39.49883766Z"
}