Quando instatiating Velocity ottengo questo errore (pubblicato solo il "causato da" -messages):Registro errori nella velocità su sistemi Linux
java.lang.RuntimeException: Velocity could not be initialized!
Caused by: org.apache.velocity.exception.VelocityException: Error initializing log: Failed to initialize an instance of org.apache.velocity.runtime.log.Log4JLogChute with the current runtime configuration.
Caused by: org.apache.velocity.exception.VelocityException: Failed to initialize an instance of org.apache.velocity.runtime.log.Log4JLogChute with the current runtime configuration.
Caused by: java.lang.RuntimeException: Error configuring Log4JLogChute :
Caused by: java.io.FileNotFoundException: velocity.log (Permission denied)
Questo è il mio frammento di codice:
VelocityEngine ve = new VelocityEngine();
ve.evaluate(context, writer, "org.apache.velocity.runtime.log.NullLogChute", this.templateString);
A prima il mio codice si presentava così:
runtimeServices = RuntimeSingleton.getRuntimeServices();
node = runtimeServices.parse(reader, templateName);
sulla mia macchina windows funziona benissimo, ma su sistemi Linux (Ubuntu 10.04) non funziona. Questo post non mi aiuta molto, dal momento che non ho trovato alcun indizio su quale directory devo fornire permessi di scrittura.
ho scoperto, che il seguente codice sta lavorando anche a macchine Linux:
String logPath = request.getRealPath("/velocity.log");
RuntimeSingleton.setProperty(RuntimeConstants.RUNTIME_LOG, logPath);
runtimeServices = RuntimeSingleton.getRuntimeServices();
node = runtimeServices.parse(reader, templateName);
Non è una bella soluzione, dal momento che non potrei mai essere sicuri, se ho il permesso di scrittura sul mio contesto reale sentiero. Il migliore sarebbe, basta disattivare la registrazione di Velocity.
Quali diverse configurazioni di registrazione devo impostare? NullLogChute
non funziona o lo uso in modo inappropriato?
Grazie in anticipo!