Logging Change in v1.53.1 for Docker lost backwards compatibility?

Hi :slight_smile:

I’m just trying out the v1.53.1 docker image, and it looks like the logging has been changed to specify which binary is logging in the container.

How it use to look on v1.52.3

INFO piecestore uploaded { "Piece ID": "ABABABABABABABABABABABABABABAB1A", "Satellite ID": "1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE", "Action": "PUT_REPAIR", "Size": 1111111}

how it looks now on v1.53.1 - added a new process field.

INFO piecestore uploaded {"Process": "storagenode", "Piece ID": "ABABABABABABABABABABABABABABAB1A", "Satellite ID": "1wFTAgs9DP5RSnCqKV1eLf6N9wtk4EAtmN5DpSxcs8EjT69tGE", "Action": "PUT_REPAIR", "Size": 1111111}

I understand the thinking, but just saying this has broken backwards compatibility for people who scrape the logs using GROK or other systems which rely on positional parameters.

I don’t understand why it’s been included in the { } It’s more normal to have process name before or after the date, before the actual logging occurs - in my case if that formality had been followed, then I would never of noticed.

Don’t expect you to change it… I understand it’s my problem, just flagging for people who might rely on their logs to alert them, so they know they have to update their code…

2 Likes

The message in a json format. It’s pretty easy to regexp json from the text and then use it as a normal json.
You can try to change the format by option

      --log.encoding string              configures log encoding. can either be 'console', 'json', or 'pretty'.

However, it will not allow to change what fields will be printed.