tornadoweb / tornadoweb/tornado

iostream: SSL logging is too noisy

Open
#3,347 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

iostream
Dominant language
Python
Stars
22.2k
Forks
5.6k
Avg merge
3h 42m
Merged PRs (30d)
16

Description

SSL connections currently log (at logging.WARNING on gen_log) for many errors that may be out of the application's control. For example, when a client IOStream connects to a server with a self-signed certificate, it both raises an exception and logs a warning. It's hardly ever appropriate to do both for client operations; the application can catch the exception and log the error if it wants.

On the server side it's trickier since there is no good place for exceptions to go, but we should probably still downgrade some of this logging. If the client side fails to validate the server's certificate, it sends a "tls alert" to the server, causing the server to raise and log an exception. These messages should at a minimum be downgraded to INFO since they do not indicate a problem with the server.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the IOStream SSL connection handling and its gen_log calls. Trace client certificate-validation failures separately from server-side TLS alerts, then inspect existing logging tests if present. Done means client operations do not emit redundant WARNING messages and server messages for client-caused alerts are logged at INFO.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.