2013-10-18 25 views
12

Ben Hız günlükleri devre dışı bırakmak için çalışıyorum ve ben olumlu sonuçlarla bugüne kadar bulduk tek yolu belirlemektir:hız günlükleri nasıl devre dışı bırakılır

runtime.log.logsystem.class=org.apache.velocity.runtime.log.NullLogSystem 

ama velocity.properties içinde ki bulunduğu velocity.jar içinde.

Web Uygulaması (tomcat) içeriğinde hızı kullanıyorum. JAR modifiye etmeden hızını (önceki özelliği veya herhangi bir şeyi ayarlayarak) devre dışı bırakmanın bir yolu var mı? velocity başlangıçta olduğu gibi bazı göreceksiniz ile

//java configuration 
VelocityEngine ve = new VelocityEngine(); 
ve.setProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS, "org.apache.velocity.runtime.log.Log4JLogChute"); 
ve.setProperty("runtime.log.logsystem.log4j.logger","velocity"); 

//log4j properties 
log4j.category.velocity=WARN 

IMHO INFO gayet:

herhangi KODU önceden

Teşekkür değiştirilemiyor

+0

Post uygulama günlüğü özelliklerini çağrılıp çağrılmadığını
Bak, – Keerthivasan

+0

Ben sadece bunun içine hız konusunda hiçbir şey bir log4j.properties sahip – luiso1979

cevap

2

Bu velocity günlüğünü istenen konfigüre ederim nasıl kullanışlı hız motoru konfigürasyon detayları, ancak şablonlama sırasında hiçbir şey INFO seviyesinden çıkar.

+0

Bunu unuttuysanız üzgün kod (dokunamazsın detay, ben soruları düzenleyeceğim) – luiso1979

+0

Ayrıca Velocity [document] 'i okudum (http://velocity.apache.org/engine/devel/developer-guide.html#Configuring_Logging) – luiso1979

2

Sen VelocityBuilder arayüzünün yöntem VelocityEngine motorunu() uygulamak ve daha sonra aşağıdaki gibi kullanmak istediğiniz bir dosyayı belirtebilirsiniz:

resource.loader = framework 

framework.resource.loader.description = Framework Templates Resource Loader 
framework.resource.loader.class = applica.framework.library.velocity.WEBINFResourceLoader 

webapp.resource.loader.class = org.apache.velocity.tools.view.servlet.WebappLoader 
webapp.resource.loader.path = 
runtime.log.logsystem.class=org.apache.velocity.runtime.log.NullLogSystem 
file.resource.loader.description = Velocity File Resource Loader 
file.resource.loader.class = org.apache.velocity.runtime.resource.loader.FileResourceLoader 
file.resource.loader.path = 

class.resource.loader.description = Velocity Classpath Resource Loader 
class.resource.loader.class = org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader 
12

:

public VelocityEngine engine() { 
       if(engine == null) { 
        engine = new VelocityEngine(); 

        Properties properties = new Properties(); 
        InputStream in = null; 
        try { 
//here is where you specify the filename "/WEB-INF/velocity.properties" 
         in = webApplicationContext.getServletContext().getResourceAsStream("/WEB-INF/velocity.properties"); 
         properties.load(in); 
         engine.init(properties); 
        } catch (IOException e) { 
         e.printStackTrace(); 
         logger.error("Error loading velocity engine properties"); 
         throw new ProgramException("Cannot load velocity engine properties"); 
        } 

        IOUtils.closeQuietly(in); 
       } 

       return engine; 
      } 

Ve velocity.properties dosyasında sonra Genel olarak: sadece aşağıdaki satırı velocity.properties'a ekleyin:

runtime.log.logsystem.class=org.apache.velocity.runtime.log.NullLogChute 

Sorunuz için: Hız motorunun nasıl yüklendiğine bağlıdır. Özel bir velocity.properties dosya vermek mümkün mü?
Örneğin Solr's VelocityResponseWriter, v.properties (veya geçerli sürümlerde init.properties.file) adı verilen özelliğe sahiptir. yöntem org.apache.velocity.app.VelocityEngine.init(Properties) ... bir yerde kodunda