Skip to content

Migrate from GLOG to Folly logging #409

Open

Description

@pshinghal

We’re migrating Proxygen from using GLOG to Folly logging which is more flexible, natively supports async logging and has a number of other advantages.

General configuration instructions are here.

Notably, this means anything running Proxygen lib will need to use a different logging config, replacing -v and --vmodule with a matching config passed to --logging.

For example, if you wanted to print all logs up to V2, except in myprojectroot/proxygen/lib/transport/H3DatagramAsyncSocket.cpp and myprojectroot/proxygen/lib/transport/PersistentFizzPskCache.cpp, where you wanted to silence all the verbose logs entirely, then you might have run your binary with something like this:

-v=2 --vmodule=H3DatagramAsyncSocket*=0,PersistentFizzPskCache*=0

But now you would run it with:

--logging=DBG2,myprojectroot.proxygen.lib.transport.H3DatagramAsyncSocket:=INFO,myprojectroot.proxygen.lib.transport.PersistentFizzPskCache:=INFO

As another example, to exclude all verbose logging across the entire codebase and to exclude all logging (not just verbose) only from the files under proxygen/lib/transport/, you might run it with:

--logging=INFO,myprojectroot.proxygen.lib.transport:=MAX_LEVEL

If you use custom log sinks with GLOG, you will need to migrate them to Folly Log Handlers and if you use the GOOGLE_STRIP_LOG macro, you will need to use the corresponding value for FOLLY_XLOG_MIN_LEVEL.

Activity

  1. afrind commented on Sep 4, 2024

    @afrind
    Contributor

    We would like to do this, but we're blocked internally unfortunately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions