2016-10-31 17 views
6

Tôi đã triển khai một ứng dụng nút làm dịch vụ ứng dụng Azure. Và bật chức năng Ghi nhật ký ứng dụng (blob) với cấp độ đăng nhập "Verbose" và liên kết tài khoản lưu trữ của blob kiểu. Nhưng console.jlog và console.error của tôi đã hoàn thành không xuất hiện trong blob. Tôi vẫn tiếp tục nhận được tệp stdout và stderr trong quá trình ghi nhật ký hệ thống tệp.Ghi nhật ký ứng dụng Azure (blob) cho node.js được triển khai dưới dạng dịch vụ ứng dụng

tập tin iisnode.yml của tôi có như sau trang nội dung

nodeProcessCommandLine: "D:\Program Files (x86)\nodejs\6.3.0\node.exe" 
 
nodeProcessCountPerApplication: 2 
 
loggingEnabled: true 
 
logDirectory: iisnode 
 
maxLogFiles: 100 
 
devErrorsEnabled: true 
 
configOverrides: "iisnode.yml" 
 
asyncCompletionThreadCount: 20 
 
flushResponse: true

+0

Rất khó chịu vì điều này không được hỗ trợ. Đã có cùng một vấn đề và bây giờ tôi đã đoán thứ hai cho dù nodejs là một công dân lớp học đầu tiên trên stack Azure. Đăng nhập ứng dụng vào hệ thống tập tin sẽ tự động tắt sau 12 giờ vì vậy bạn phải sử dụng một bộ chuyển đổi như winston mà dường như phản tác dụng. – sjdirect

Trả lời

2

Tôi đang cố gắng để làm điều tương tự ngay bây giờ and came across this:

Đối với Node.js các trang web cách viết nhật ký ứng dụng là bằng cách ghi vào bảng điều khiển bằng console.log ('message') và console.error ('message'), nó đi đến Information/Error các mục nhập nhật ký cấp độ. Hiện tại, mục tiêu duy nhất được hỗ trợ cho các tệp nhật ký cho node.js là hệ thống tệp.

Dường như bạn không thể sử dụng bộ nhớ blob cho nhật ký ứng dụng trong Ứng dụng web Azure. Tuy nhiên, có bộ điều hợp lưu trữ Azure blob cho các bộ ghi nhật ký nút phổ biến như winston: winston-azure-blob-transport

+2

winston-azure-blob-transport hoạt động tốt. Giải pháp hiện tại của tôi là ghi đè lên console.log/error, gọi phương thức gốc cũng như đăng nhập vào kho lưu trữ blob bằng winston. – pyre

Các vấn đề liên quan