【发布时间】:2022-01-08 05:36:18
【问题描述】:
最近我将我的应用程序移到了一个 docker 容器中。
我注意到,日志组的日志流将其名称更改为某个随机散列。
在迁移到 docker 之前:
移到docker后:
每个文件中的记录器被初始化为
logger = logging.getLogger(__name__)
记录器的配置是在__main__ 中设置的
def setup_logger(config_file):
with open(config_file) as log_config:
config_yml = log_config.read()
config_dict = yaml.safe_load(config_yml)
logging.config.dictConfig(config_dict)
从这个文件加载配置
version: 1
disable_existing_loggers: False
formatters:
json:
format: "[%(asctime)s] %(process)d %(levelname)s %(name)s:%(funcName)s:%(lineno)s - %(message)s"
plaintext:
format: "%(asctime)s %(levelname)s %(name)s - %(message)s"
datefmt: "%Y-%m-%d %H:%M:%S"
handlers:
console:
class: logging.StreamHandler
formatter: plaintext
level: INFO
stream: ext://sys.stdout
root:
level: DEBUG
propagate: True
handlers: [console]
docker 镜像使用标志运行
--log-driver=awslogs \
--log-opt awslogs-group=XXXXX \
--log-opt awslogs-create-group=true \
有没有办法保留原始日志流名称?
【问题讨论】:
标签: python amazon-web-services docker amazon-cloudwatch