A contrived minimal example that triggers for me:
class Foo:
def info(arg) -> None:
...
foo: Foo = Foo()
world = "world"
foo.info("hello {world}".format(world=world))
foo.info(f"hello {world}")
Gives a G001 and G004 even though foo is quite clearly not a logger, just an object with an info method.
If I update the calls to use the extra keyword arg as flake8-logging-format requests, clearly this results in a runtime error calling Foo.info.
I ran into this issue in a non-trivial way with code which was making calls to a java logger through pyspark, which also doesn't support extra.
Could G001 be ignored whenever the object is clearly typehinted not to be a logging.Logger?