'What does rotate period, bufferlogsize, and synctimeout mean exactly in Winston Azur blob storage? Explanation with simple examples are appreciated

In our project we are using winston3-azureblob-transport NPM package to store Application logs to blob storage. However due to increase in users we are getting an error "409 - ClientOtherError - BlockCountExceedsLimit|The committed block count cannot exceed the maximum limit of 50,000 blocks".

Could anyone tell us using rotatePeriod, bufferLogSize and syncTimeout helps us to stop the error "409 - ClientOtherError - BlockCountExceedsLimit|The committed block count cannot exceed the maximum limit of 50,000 blocks".

Also provide any another alternative solution. However Winston logger should not be replaced.



Solution 1:[1]

The error "The committed block count cannot exceed the maximum limit of 50,000 blocks" usually occurs when the maximum limits are exceeded.

Each block in a block blob can be a different size. Based on the Service version you are using, maximum blob size differs.

If you attempt to upload a block that is larger than maximum limit your service version is supporting, the service returns status code 409(ClientOtherError - BlockCountExceedsLimit). The service also returns additional information about the error in the response, including the maximum block size permitted in bytes.

  • rotatePeriod: A moment format ex : YYYY-MM-DD will generate blobName.2022.03.29
  • bufferLogSize: A minimum number of logs before sync the blob, set to 1 if you want sync at each log.
  • syncTimeout: The maximum time between two sync, set to zero if you don't want.

For more in detail, please refer this link:

GitHub - agmoss/winston-azure-blob: NEW winston transport for azure blob storage.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Imrankhan-MT