Normalmente, andrebbe a uno dei tuoi progetti principali (non avendo alcuna dipendenza da altri progetti). In modo che possa essere utilizzato da tutte le soluzioni.
La configurazione richiesta per Log4net viene salvata in web.config, ma la classe logger può trovarsi in qualsiasi altro progetto.
[aggiorna - per rispondere alle domande nel commento - beh, che sono per lo più risposte da @Justin]
Generalmente, il logging è implementato come una classe astratta / interfaccia in cui tutti i metodi richiesti sono dichiarati come log, errore, warn etc.
Quindi scrivi l'implementazione di questa interfaccia utilizzando una libreria di tua scelta, ad es. Log4Net
Devi aggiungere un riferimento a log4net (o qualsiasi altra libreria che hai scelto) nel tuo progetto.
Devi mantenerlo flessibile in modo da poter cambiare la libreria senza modificare il codice in qualsiasi altro punto della soluzione.
per esempio. Per la registrazione di produzione si utilizza ApplicationInsight ma per dev locale si utilizza l'implementazione di log4net.
Potrebbe essere necessario un factory per ottenere il tipo corretto di logger in base al proprio ambiente / configurazione.
Tutte le configurazioni relative a Log4Net sono mantenute in web.config perché è il progetto di avvio. Inoltre, consente le proprietà configurabili per la libreria, ad esempio il livello di registro minimo.
HTH