Quando registrar uma exceção?

try
{
   // Code
}
catch (Exception ex)
{
   Logger.Log("Message", ex);
   throw;
}

No caso de uma biblioteca, devo registrar a exceção? Devo apenas jogá-lo e permitir que o aplicativo faça logon? Minha preocupação é que, se eu registrar a exceção na biblioteca, haverá muitas duplicatas (porque a camada da biblioteca a registrará, a camada do aplicativo a registrará e qualquer outra coisa intermediária), mas se eu não registrá-la no diretório biblioteca, será difícil rastrear bugs. Existe uma prática recomendada para isso?

questionAnswers(5)

yourAnswerToTheQuestion