Currently docs describe chef-client -l option (https://docs.chef.io/ctl_chef_client.html) as follow:
The level of logging to be stored in a log file. Possible levels: :auto (default), debug, info, warn, error, or fatal. Default value: warn (when a terminal is available) or info (when a terminal is not available).
However I experience :info level is used when tty available and :warn level when its not. I think the experienced behaviour is preferred and docs should be updated.