Ich möchte alle Protokolle von Docker (von stdout) auf meiner EC2-Instanz erhalten. So Politik und IAM Rollen nach der Konfiguration, in meinem Docker-compose.yml füge ich nächste Konfiguration für die Protokollierung:AWS Cloud Watch unlesbare Symbole
django:
...
logging:
driver: "awslogs"
options:
awslogs-region: "eu-central-1"
awslogs-group: "my-group-auto"
awslogs-stream: "my-stream"
awslogs-create-group: "true"
Django config:
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'root': {
'level': 'ERROR',
'handlers': ['console'],
},
'formatters': {
'message-only': {
'format': '%(message)s'
}
},
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'message-only'
}
},
'loggers': {
'celery': {
'level': 'DEBUG',
'handlers': ['console'],
'propagate': False,
}
}
}
Dann laufe ich die Python-Shell und versuchen, einige schicken Protokolle:
In [1]: import logging
In [2]: logger = logging.getLogger('celery')
In [3]: logger.info('info2')
In [4]: logger.info('info22')
Aber auf AWS Cloud-Uhr bekam ich Protokolle mit nicht lesbaren Symbolen vor ursprünglicher Protokollmeldung:
16:34:27 [J[?7h[0m[?12l[?25h[?2004linfo2
16:35:23 [J[?7h[0m[?12l[?25h[?2004linfo22
Sieht aus wie ein unlesbares Datum vor den Nachrichten. Wie kann ich es entfernen?
Können Sie Python anstelle von Ipython versuchen und sehen, ob das Ergebnis gleich ist? Dies sind Farbkodierungen, die Ihre Protokolle erreichen –
Ihre Lösung funktioniert gut für mich, danke! – Lariat