Reputation: 43
My team has multiple Azure WebApps (Windows) running Node.js applications. We are using the Winston library to log service activity (e.g., requests). We have configured our Diagnostic Logging in each to store logs in Blob storage resources.
Using the Microsoft Azure Storage Explorer, we can see that there are multiple containers within Blob storage. It seems to be collecting information by the hour, but only 'snapshot' entries as CSV files and .log files with virtually no information. The files are small, which shouldn't be the case because traffic is consistent and we are logging a fair amount.
Our logging works in the filesystem format, but it's clearly not working in blob storage. We cannot seem to find a reason why our logs are not getting stored in our storage accounts.
Is there additional configuration necessary?
Upvotes: 1
Views: 1627
Reputation: 18465
According to your description, I checked your issue and found that I could only get the logging via console.log
and console.error
from the KUDU path D:\home\LogFiles\Application\
. Then I found a blog mentioned about application logs for node.js on azure web app as follows:
Setting application logs in the Azure portal
For node.js websites the way to write application logs is by writing to the console using console.log('message') and console.error('message') which goes to Information/Error level log entries. Currently the only supported target for the log files for node.js is the file system.
Other web site types like php and python are not supported for the application logs feature.
Here is a Azure blob storage adapter for popular nodejs logger, e.g. winston: winston-azure-blob-transport, you could leverage it for a workaround to collect the application logs from your node.js website into azure blob storage.
Upvotes: 3