-1

Ich habe asp.net core 2.0. App auf azure Linux Docker Container bereitgestellt und ich versuche, den besten Weg zur Handhabung von App-Logs herauszufinden.App-Service für Linux Docker Container Protokollierung

Ich kann einfach nicht zu einem schönen/Best Practice Workflow kommen.

Natürlich gibt es Kudu-Service oder FTP-Zugriff auf Protokolle, die beide Docker-Logs anzeigen, aber die Frage ist, wie Log-Levels schön handhaben?

Wie üblich, ich möchte Warning und höher in der Produktion einschalten, aber wenn ein Problem auftreten, ich möchte Trace einschalten, um alles zu sehen, aber ohne redeploy/restart/irgendetwas. Da wir offensichtlich in Docker und ohne Zugang zu appsettings.json so reloadOnChange sind nicht arbeiten, und ich bin nicht sicher, wie es zu tun?

Was ist die beste Vorgehensweise für diese Art von Situation?

Antwort

1

Ich möchte einige der besten Praktiken markieren, die Sie für die Anmeldung (sorry für den langen Post) verwenden können:

Wir protokollieren nützliche Informationen in die Docker, die helfen anmelden können Sie Ihre Website zu beheben, wenn es doesn nicht starten oder wenn es neu startet. Wir protokollieren viel mehr, als Sie vielleicht in einem Docker-Protokoll sehen, und wir werden weiter daran arbeiten, diese Protokollierung nützlicher zu machen. Sie finden das Docker-Protokoll im Verzeichnis/LogFiles. Sie können auf diese über die Kudu (Advanced Tools) Bash-Konsole zugreifen, indem Sie einen FTP-Client verwenden, um darauf zuzugreifen, oder indem Sie unsere API verwenden, um die aktuellen Protokolle herunterzuladen. (Siehe „Sie entdecken können und laden Sie die neuesten Docker Protokolle mit Kudu“ in diesem Beitrag für Informationen über das.) Die Namenskonvention für die Docker log YYYY_MM_DD_RDxxxxxxxxxxxx_docker.log ist.

Beachten Sie, dass beim Versuch, das Docker-Protokoll herunterzuladen, das derzeit mit einem FTP-Client verwendet wird, möglicherweise ein Fehler aufgrund einer Dateisperre auftritt. In diesem Fall können Sie es mit unserer API herunterladen (siehe "Sie können die neuesten Docker-Logs mit Kudu finden und herunterladen" in diesem Beitrag) oder Sie können "Tail" in der Konsole verwenden, um es anzuzeigen. (Unsere API bekommt man die aktuelle Docker einzuloggen, wenn Sie also eine Vergangenheit Protokoll überprüfen möchten, verwenden Sie den „Schwanz“ Option.) die Docker Protokoll mit Schwanz zu sehen, die Konsole zuzugreifen, wechseln in den Logfiles-Verzeichnis, und führen Sie diese Befehl: Tail 2017_09_05_RD * 0FA_docker.log

"Sie können die neuesten Docker Protokolle mit Kudu entdecken und herunterladen".

Wir haben eine API, mit der Sie die aktuellen Details des Docker-Protokolls (wie den Dateinamen usw.) auf einfache Weise sehen und auch die aktuellen Docker-Protokolle im Zip-Format herunterladen können. Um Details zu den aktuellen Docker-Protokollen im JSON-Format anzuzeigen, können Sie diese URL verwenden: Sie können dies leicht erreichen, indem Sie auf Erweiterte Tools (Kudu) gehen und dann "/ api/logs/docker" an die URL anhängen . Die Ausgabe davon ist eine JSON-Antwort mit den relevantesten und aktuellsten Docker-Logs. Wenn Sie die Protokolle, die in der obigen API im Zip-Format angezeigt werden, herunterladen möchten, fügen Sie "zip" an die URL an. Beispiel: https://[sitename].scm.azurewebsites.net/api/logs/docker/zip Sie können auch auf den Link in den erweiterten Tools (Kudu) klicken, um Ihre neuesten Docker-Protokolle im Zip-Format herunterzuladen.

Der Azure App Service verfügt über zahlreiche Funktionen, aber nicht alle diese Funktionen sind derzeit für Linux-Apps verfügbar. Wir arbeiten ständig daran, neue Funktionen hinzuzufügen, und sobald neue Funktionen hinzugefügt werden, werden sie im Menü im Azure-Portal aktiviert. Wenn der Menüeintrag für eine bestimmte Funktion im Menü für Ihre Linux-Apps deaktiviert (ausgegraut) ist, liegt dies einfach daran, dass wir diese Funktion noch nicht hinzugefügt haben.

Referenz: https://blogs.msdn.microsoft.com/waws/2017/09/08/things-you-should-know-web-apps-and-linux/

Verwandte Themen