facebook / facebook/proxygen

Migrate from GLOG to Folly logging

Aperta
#409 1 commento 0 reazioni 1 assegnatario Rivendicata da @naclander Vedi su GitHub
blocked enhancement
Lingua principale
C++
Stelle
8.4k
Fork
1.5k
Merge medio
10m
PR unite (30g)
2

Descrizione

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](https://github.com/facebook/folly/blob/main/folly/logging/docs/Comparisons.md).

General configuration instructions are [here](https://github.com/facebook/folly/blob/main/folly/logging/docs/Usage.md#configuration).

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](https://github.com/facebook/folly/blob/main/folly/logging/docs/LogHandlers.md) and if you use the `GOOGLE_STRIP_LOG` macro, you will need to use the corresponding value for `FOLLY_XLOG_MIN_LEVEL`.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.