Je crée un service qui ressemble à ceci:Enregistrement d'une instance BufferedWriter dans une classe. Des problèmes?
interface MyLogger
{
void logStuff(int id, String message);
}
La mise en œuvre ouvre essentiellement un fichier et met en cache une instance de la BufferedWriter dans la classe. La méthode est synchronisée.
Est-il acceptable d'avoir un wrapper de fichier ouvert par un BufferedWriter d'une manière longue durée?
Une implémentation simpliste de logStuff.
public void logStuff(...)
{
try
{
this.writer.write(message);
this.writer.flush();
}
catch(IOException ignored) {}
}
est correct et je pense que log4j fait aussi la même chose que la création de l'objet écrivain pour chaque message, puis la fermeture est une opération coûteuse. –