Uploaded image for project: 'Request For Comments'
  1. Request For Comments
  2. RFC-402

lsst.log should default to stdout

    Details

      Description

      Currently, lsst.log sends all output to stderr. This is surprising since most log messages are not errors: generally only actual errors (e.g. python exceptions, stack traces) should be sent to stderr.

      lsst.log should send all output to stdout. This helps separate logs and errors when piping output; for example, in python:

      subprocess.check_call(['jointcal.py', *args], stdout=open('jointcal.log', 'w'), stderr=open('log.err','w))
      

      I might also suggest that errors at warn, error, and fatal levels also get sent to stderr, so they're more easily identified, though that would result in them being duplicated when logging to a terminal. I'm not sure we want them to only go to stderr, as that pulls them out of context, but they can get drowned in all the other messages.

        Attachments

          Container Issues

            Issue Links

              Activity

                People

                • Assignee:
                  Parejkoj John Parejko
                  Reporter:
                  Parejkoj John Parejko
                  Watchers:
                  Andy Salnikov, John Parejko, Joshua Hoblitt, Kian-Tat Lim, Krzysztof Findeisen, Paul Price, Robert Lupton
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  7 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Planned End:

                    Summary Panel