/ / como obter o nome da classe que injeta algo - java, log, guice

como obter o nome da classe da classe que injeta alguma coisa - java, logging, guice

Eu quero usar um logger personalizado (slf4j) injetado por guice dentro do construtor. eu encontrei esta solução para conseguir isso. Mas provavelmente existe uma maneira melhor apenas de implementar um provedor para o logger. Com isso, um logger é injetado como todas as outras coisas @Inject Logger logger. A única coisa que eu preciso é o nome da classe que solicita a injeção. Existe uma maneira de obter esse nome dentro de um provedor (Quem me ligou? - método)?

Respostas:

2 para resposta № 1

Não há uma maneira legal de fazer isso no Guice 3. O Guice 4 (em versão beta agora) tem ProvisionListener o que torna isso possível, embora ainda difícil. Eu escrevi uma biblioteca para ela chamada Sangria.