r861 - in trunk: echobase-domain/src/main/java/fr/ifremer/echobase/config echobase-domain/src/main/resources/i18n echobase-services/src/main/java/fr/ifremer/echobase/services/service/embeddedapplication echobase-ui echobase-ui/src/main/env echobase-ui/src/main/java/fr/ifremer/echobase/ui echobase-ui/src/main/resources echobase-ui/src/main/resources/embedded src/site/rst
Author: tchemit Date: 2013-10-22 12:56:27 +0200 (Tue, 22 Oct 2013) New Revision: 861 Url: http://forge.codelutin.com/projects/echobase/repository/revisions/861 Log: fixes #3563: Simplify log configuration refs #3553: Am?\195?\169liorer la documentation d'installation Added: trunk/echobase-ui/src/main/resources/embedded/ trunk/echobase-ui/src/main/resources/embedded/echobase-log.config trunk/echobase-ui/src/main/resources/log4j.properties Removed: trunk/echobase-ui/src/main/env/dev/ trunk/echobase-ui/src/main/env/prod/ Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/config/EchoBaseConfiguration.java trunk/echobase-domain/src/main/java/fr/ifremer/echobase/config/EchoBaseConfigurationOption.java trunk/echobase-domain/src/main/resources/i18n/echobase-domain_en_GB.properties trunk/echobase-domain/src/main/resources/i18n/echobase-domain_fr_FR.properties trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/embeddedapplication/EmbeddedApplicationService.java trunk/echobase-ui/pom.xml trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java trunk/echobase-ui/src/main/resources/struts.xml trunk/src/site/rst/install.rst.vm Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/config/EchoBaseConfiguration.java =================================================================== --- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/config/EchoBaseConfiguration.java 2013-10-21 15:18:58 UTC (rev 860) +++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/config/EchoBaseConfiguration.java 2013-10-22 10:56:27 UTC (rev 861) @@ -112,8 +112,8 @@ } createDirectory(EchoBaseConfigurationOption.DATA_DIRECTORY); + createDirectory(EchoBaseConfigurationOption.LOG_DIRECTORY); try { -// FileUtils.forceMkdir(getWarDirectory()); FileUtils.forceMkdir(getLibDirectory()); } catch (IOException e) { throw new EchoBaseTechnicalException(e); @@ -163,6 +163,18 @@ return file; } + public File getLogConfigFile() { + File file = applicationConfig.getOptionAsFile( + EchoBaseConfigurationOption.LOG_CONFIG_FILE.key); + Preconditions.checkNotNull(file); + return file; + } + + public File getDefaultLogDirectory() { + File file = new File(getDataDirectory(), "log"); + return file; + } + public char getCsvSeparator() { char csvSeparator = applicationConfig.getOption( char.class, EchoBaseConfigurationOption.CSV_SEPARATOR.key); Modified: trunk/echobase-domain/src/main/java/fr/ifremer/echobase/config/EchoBaseConfigurationOption.java =================================================================== --- trunk/echobase-domain/src/main/java/fr/ifremer/echobase/config/EchoBaseConfigurationOption.java 2013-10-21 15:18:58 UTC (rev 860) +++ trunk/echobase-domain/src/main/java/fr/ifremer/echobase/config/EchoBaseConfigurationOption.java 2013-10-22 10:56:27 UTC (rev 861) @@ -70,6 +70,10 @@ n_("echobase.config.war.location.description"), "${echobase.lib.directory}/echobase-embedded-${echobase.version}.war", File.class), + LOG_CONFIG_FILE("echobase.log.config.file", + n_("echobase.config.log.config.file.description"), + "${echobase.data.directory}/echobase-log.config", + File.class), DOCUMENTATION_URL("echobase.documentationUrl", n_("echobase.config.documentationUrl.description"), "http://maven-site.forge.codelutin.com/echobase", Modified: trunk/echobase-domain/src/main/resources/i18n/echobase-domain_en_GB.properties =================================================================== --- trunk/echobase-domain/src/main/resources/i18n/echobase-domain_en_GB.properties 2013-10-21 15:18:58 UTC (rev 860) +++ trunk/echobase-domain/src/main/resources/i18n/echobase-domain_en_GB.properties 2013-10-22 10:56:27 UTC (rev 861) @@ -35,6 +35,7 @@ echobase.config.h2Version.description=H2 jdbc driver version echobase.config.internal.db.directory.description=Directory of the internal database echobase.config.lib.directory.description=Directory where to put internal libraries (jdbc drivers, embedded war) +echobase.config.log.config.file.description=Log configuration file echobase.config.postgresqlVersion.description=Postgresql driver version echobase.config.version.description=Application version echobase.config.war.location.description=Location of the war used to create embedded applications Modified: trunk/echobase-domain/src/main/resources/i18n/echobase-domain_fr_FR.properties =================================================================== --- trunk/echobase-domain/src/main/resources/i18n/echobase-domain_fr_FR.properties 2013-10-21 15:18:58 UTC (rev 860) +++ trunk/echobase-domain/src/main/resources/i18n/echobase-domain_fr_FR.properties 2013-10-22 10:56:27 UTC (rev 861) @@ -33,6 +33,7 @@ echobase.config.h2Version.description=Version du pilote jdbc H2 echobase.config.internal.db.directory.description=Répertoire de la base interne echobase.config.lib.directory.description=Chemin où sont stockés les libraires internes (drivers + application embarquée) +echobase.config.log.config.file.description=Fichier de configuration des logs echobase.config.postgresqlVersion.description=Version du pilote jdbc Postgresql echobase.config.version.description=Version de l'application echobase.config.war.location.description=Chemin d'accèss au war embarqué à utiliser pour créer des applications embarquées Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/embeddedapplication/EmbeddedApplicationService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/embeddedapplication/EmbeddedApplicationService.java 2013-10-21 15:18:58 UTC (rev 860) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/service/embeddedapplication/EmbeddedApplicationService.java 2013-10-22 10:56:27 UTC (rev 861) @@ -363,10 +363,11 @@ } } - public void copyEmbeddedBinaryFile(String resourceName, + public static void copyEmbeddedBinaryFile(String resourceName, File targetDirectory) throws IOException { String resourcePath = EMBEDDED_PATH + resourceName; - InputStream inputStream = getClass().getResourceAsStream(resourcePath); + InputStream inputStream = + EmbeddedApplicationService.class.getResourceAsStream(resourcePath); Preconditions.checkNotNull(inputStream, "could not find resource " + resourcePath); try { Modified: trunk/echobase-ui/pom.xml =================================================================== --- trunk/echobase-ui/pom.xml 2013-10-21 15:18:58 UTC (rev 860) +++ trunk/echobase-ui/pom.xml 2013-10-22 10:56:27 UTC (rev 861) @@ -22,6 +22,8 @@ <!-- i18n configuration --> <i18n.bundleOutputName>${echobaseI18nBundle}</i18n.bundleOutputName> + <devMode>true</devMode> + <env>dev</env> <fullWarName>echobase-full-${project.version}</fullWarName> @@ -45,26 +47,30 @@ <resources> <resource> <directory>src/main/resources</directory> - <includes> + <!--includes> <include>**/*</include> - </includes> + </includes--> <excludes> <exclude>echobase.properties</exclude> + <exclude>struts.xml</exclude> </excludes> </resource> + <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>echobase.properties</include> + <include>struts.xml</include> </includes> </resource> - <resource> + + <!--resource> <directory>src/main/env/${env}/resources</directory> <includes> <include>*.properties</include> </includes> - </resource> + </resource--> </resources> <plugins> @@ -303,7 +309,7 @@ <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> - <scope>runtime</scope> + <scope>compile</scope> </dependency> <dependency> @@ -349,7 +355,8 @@ </property> </activation> <properties> - <env>prod</env> + <!-- to use prod config in struts.xml config file --> + <devMode>false</devMode> <!-- make sure i18n is fully complete --> <i18n.failsIfWarning>true</i18n.failsIfWarning> Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java 2013-10-21 15:18:58 UTC (rev 860) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java 2013-10-22 10:56:27 UTC (rev 861) @@ -23,8 +23,10 @@ */ package fr.ifremer.echobase.ui; +import com.google.common.base.Charsets; import com.google.common.base.Preconditions; import com.google.common.collect.Sets; +import com.google.common.io.Files; import com.opensymphony.xwork2.ActionContext; import fr.ifremer.echobase.config.EchoBaseConfiguration; import fr.ifremer.echobase.entities.DriverType; @@ -44,23 +46,33 @@ import org.apache.commons.beanutils.ConvertUtils; import org.apache.commons.beanutils.Converter; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.log4j.LogManager; +import org.apache.log4j.PropertyConfigurator; import org.nuiton.i18n.I18n; import org.nuiton.i18n.init.DefaultI18nInitializer; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; +import org.nuiton.util.RecursiveProperties; +import org.nuiton.util.SortedProperties; import org.nuiton.util.converter.ConverterUtil; import javax.servlet.ServletContext; import java.beans.Introspector; +import java.io.BufferedReader; +import java.io.BufferedWriter; import java.io.File; import java.io.IOException; import java.sql.SQLException; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Properties; import java.util.Set; +import java.util.logging.Level; +import java.util.logging.Logger; /** * @author tchemit <chemit@codelutin.com> @@ -69,7 +81,7 @@ public class EchoBaseApplicationContext { /** Logger. */ - private static final Log log = + private static Log log = LogFactory.getLog(EchoBaseApplicationContext.class); /** Key to store the single instance of the application context */ @@ -180,6 +192,13 @@ // initialize configuration EchoBaseConfiguration configuration = new EchoBaseConfiguration(); + try { + initLog(configuration); + } catch (IOException e) { + Logger.getAnonymousLogger().log(Level.ALL, + "Could not init logger.", e); + } + // initialize internal root context TopiaContext internalRootContext = EchobaseTopiaContexts.newInternalDb( @@ -315,7 +334,6 @@ */ protected void initInternalDatabase(EchoBaseServiceContext serviceContext) throws TopiaException { - EchoBaseConfiguration configuration = this.getConfiguration(); Preconditions.checkNotNull(configuration); @@ -367,6 +385,57 @@ } } + protected void initLog(EchoBaseConfiguration configuration) throws IOException { + + // get log configuration + File logFile = configuration.getLogConfigFile(); + + if (!logFile.exists()) { + EmbeddedApplicationService.copyEmbeddedBinaryFile( + logFile.getName(), + logFile.getParentFile()); + + RecursiveProperties properties = new RecursiveProperties(); + + BufferedReader reader = Files.newReader(logFile, Charsets.UTF_8); + try { + properties.load(reader); + reader.close(); + } finally { + IOUtils.closeQuietly(reader); + } + + // set default log directory + properties.setProperty( + "echobase.log.dir", + configuration.getDefaultLogDirectory().getAbsolutePath()); + // copy configuration (with substitutions) + Properties p2 = new SortedProperties(); + for (Map.Entry<Object, Object> entry : properties.entrySet()) { + String key = String.valueOf(entry.getKey()); + + p2.setProperty(key, properties.getProperty(key)); + } + p2.remove("echobase.log.dir"); + // write back log configuration file + BufferedWriter writer = Files.newWriter(logFile, Charsets.UTF_8); + try { + p2.store(writer, "Generated by " + getClass().getName()); + writer.close(); + } finally { + IOUtils.closeQuietly(writer); + } + } + // reste logger configuration + LogManager.resetConfiguration(); + // use generate log config file + PropertyConfigurator.configure(logFile.getAbsolutePath()); + log = LogFactory.getLog(EchoBaseApplicationContext.class); + if (log.isInfoEnabled()) { + log.info("Use now logFile: " + logFile); + } + } + protected void extractFiles(EchoBaseServiceContext serviceContext) throws IOException { EmbeddedApplicationService service = serviceContext.newService(EmbeddedApplicationService.class); @@ -382,7 +451,7 @@ log.info("Copy embedded resource " + pilotFileName + " to directory " + libDirectory); } - service.copyEmbeddedBinaryFile(pilotFileName, libDirectory); + EmbeddedApplicationService.copyEmbeddedBinaryFile(pilotFileName, libDirectory); } // copy embedded war @@ -395,6 +464,6 @@ log.info("Copy embedded war " + embeddedWarFileName + " to directory " + embeddedWarDirectory); } - service.copyEmbeddedBinaryFile(embeddedWarFileName, embeddedWarDirectory); + EmbeddedApplicationService.copyEmbeddedBinaryFile(embeddedWarFileName, embeddedWarDirectory); } } Added: trunk/echobase-ui/src/main/resources/embedded/echobase-log.config =================================================================== --- trunk/echobase-ui/src/main/resources/embedded/echobase-log.config (rev 0) +++ trunk/echobase-ui/src/main/resources/embedded/echobase-log.config 2013-10-22 10:56:27 UTC (rev 861) @@ -0,0 +1,20 @@ +# Global logging configuration +log4j.rootLogger=ERROR, stdout, file + +# Console output... +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=[%t] %d{yyyy/MM/dd hh:mm:ss} %5p (%F:%L) %m%n + +# file output... +log4j.appender.file=org.apache.log4j.RollingFileAppender +log4j.appender.file.File=${echobase.log.dir}/echobase.log +log4j.appender.file.MaxFileSize=10MB +log4j.appender.file.MaxBackupIndex=4 +log4j.appender.file.layout=org.apache.log4j.PatternLayout +log4j.appender.file.layout.ConversionPattern=%d{yyyy/MM/dd hh:mm:ss} %5p (%F:%L) %m%n + + +# package level +log4j.logger.fr.ifremer=INFO +log4j.logger.org.nuiton=INFO \ No newline at end of file Property changes on: trunk/echobase-ui/src/main/resources/embedded/echobase-log.config ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/echobase-ui/src/main/resources/log4j.properties =================================================================== --- trunk/echobase-ui/src/main/resources/log4j.properties (rev 0) +++ trunk/echobase-ui/src/main/resources/log4j.properties 2013-10-22 10:56:27 UTC (rev 861) @@ -0,0 +1,33 @@ +### +# #%L +# EchoBase :: UI +# $Id$ +# $HeadURL$ +# %% +# Copyright (C) 2011 - 2013 Ifremer, Codelutin +# %% +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# #L% +### +# Log4J config files used at very beginning of application, will be later +#replaced by the one specified in +# echobase.log.config.file configuration property +# +# Global logging configuration +log4j.rootLogger=INFO, stdout + +# Console output... +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{yyyy/MM/dd hh:mm:ss} %5p (%F:%L) %m%n Property changes on: trunk/echobase-ui/src/main/resources/log4j.properties ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/echobase-ui/src/main/resources/struts.xml =================================================================== --- trunk/echobase-ui/src/main/resources/struts.xml 2013-10-21 15:18:58 UTC (rev 860) +++ trunk/echobase-ui/src/main/resources/struts.xml 2013-10-22 10:56:27 UTC (rev 861) @@ -38,6 +38,14 @@ name="i18nTextProvider" type="com.opensymphony.xwork2.TextProvider"/> + <!-- dev mode tuning --> + <constant name="struts.devMode" value="${devMode}"/> + <constant name="struts.ognl.logMissingProperties" value="${devMode}"/> + <constant name="struts.el.throwExceptionOnFailure" value="${devMode}"/> + <constant name="struts.i18n.reload" value="${devMode}"/> + <constant name="struts.configuration.xml.reload" value="${devMode}"/> + + <!-- security config (need it since 1.15.1) --> <constant name="struts.enable.DynamicMethodInvocation" value="true"/> <constant name="struts.mapper.action.prefix.enabled" value="true"/> @@ -46,8 +54,8 @@ <constant name="struts.ognl.allowStaticMethodAccess" value="true"/> <constant name="struts.action.extension" value=",,"/> <constant name="struts.locale" value="fr_FR"/> - <constant name="struts.i18n.reload" value="false"/> - <constant name="struts.configuration.xml.reload" value="false"/> + <!--<constant name="struts.i18n.reload" value="false"/>--> + <!--<constant name="struts.configuration.xml.reload" value="false"/>--> <constant name="struts.ui.theme" value="css_xhtml"/> <constant name="struts.multipart.maxSize" value="209715200"/> Modified: trunk/src/site/rst/install.rst.vm =================================================================== --- trunk/src/site/rst/install.rst.vm 2013-10-21 15:18:58 UTC (rev 860) +++ trunk/src/site/rst/install.rst.vm 2013-10-22 10:56:27 UTC (rev 861) @@ -39,11 +39,9 @@ - création de la base de données - installation de l'application -Installation de la base de données -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Installation de postgresql et postgis +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- Installation de postgresql et postgis (debian's way) - Pour postgresql 9.0 :: @@ -79,16 +77,26 @@ Consulter la documentation suivante pour `créer une base travail`_. +Installation tomcat +~~~~~~~~~~~~~~~~~~~ + +:: + + sudo apt-get install tomcat7 + Préparation première installation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Il faut être loggué sur une console avec l'utilisateur root. +Pré-requis: -On suppose ici que tomcat a été installé dans le répertoire */opt/tomcat* . +- Avoir installer tomcat 7 +- Etre loggué sur une console avec l'utilisateur root. -Toutes les données de l'application (et sa configuration) seront placées dans -le répertoire **/var/local/echobase** +On suppose que tomcat a été installé via le système de paquets, et donc +que le répertoire **/var/lib/tomcat7** existe. +Toutes les données de l'application seront placées dans le répertoire **/var/local/echobase** + - Créer les répertoires :: @@ -97,93 +105,65 @@ mkdir /var/local/echobase/war - Placer le war à utiliser dans **/var/local/echobase/war** - - Ajouter une lien symoblique vers le war à utiliser :: ln -s /var/local/echobase/war/echobase-full-${project.version}.var /var/local/echobase/echobase.war -- Ajouter un lien symbolique dans le répertoire **webapps** de tomcat vers ce - lien symbolique +- Mettre l'application dans tomcat :: - ln -s /var/local/echobase/echobase.war /opt/tomcat/webapps/echobase.war + cp /var/local/echobase/echobase.war /var/lib/tomcat7/webapps -- Copier le fichier de configuration echobase.properties_ de l'application - dans **/var/local/echobase/** - -- Editer ce fichier pour adapter le mot de passe de l'utilisateur et peut-être - aussi l'url de connexion. Voici un exemple fichier modifié - -:: - - hibernate.dialect=org.hibernate.dialect.PostgreSQL82Dialect - hibernate.connection.driver_class=org.postgresql.Driver - hibernate.connection.url=jdbc:postgresql://monNomDeMachine/echobase - hibernate.connection.username=echobase - hibernate.connection.password=motDePasseModifie - -- Ajouter un lien symbolique ver le fichier de configuration dans */etc* - -:: - - ln -s /var/local/echobase/echobase.properties /etc/echobase.properties - -Le répertoire au final devrait ressembler à ça : - -:: - - /var/local/echobase/ - ├── echobase.properties (configuration) - ├── echobase.war -> war/echobase-full-${project.version}.war (war utilisé) - └── war (répertoire des wars) - └── echobase-full-${project.version}.war - -Une fois le serveur tomcat démarré, vous pouvez accéder à l'application à +L'application est bien déployée lorsque vous pouvez accéder à l'application à l'adresse suivante : - :: http://localhost:8080/echobase -Un nouveau répertoire est crée comprenant les données internes de l'application, à savoir : - +Une fois l'application déployée, vous aurez le répertoire suivante : :: - /var/local/echobase/data/ - |-- internaldb (contient la base interne) - | |-- echobase-user.h2.db - |-- lib (contient les pilotes jdbc et l'application embarquée) - | |-- echobase-embedded-${project.version}.war - | |-- h2-1.3.173.jar - | `-- postgresql-9.1-901-1.jdbc4.jar - `-- logs (contient les logs de l'application) + /var/local/echobase/ + |-- data + | |-- echobase-log.config + | |-- internaldb + | | |-- echobase-user.h2.db + | |-- lib + | | |-- echobase-embedded-2.3-SNAPSHOT.war + | | |-- h2-1.3.173.jar + | | `-- postgresql-9.1-901-1.jdbc4.jar + | `-- logs + | `-- echobase.log + |-- echobase.war + `-- war + `-- echobase-full-2.3-SNAPSHOT.war Mettre à jour le war de l'application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Il faut être loggué sur une console avec l'utilisateur root. +Pré-requis : -On suppose ici que tomcat a été installé dans le répertoire */opt/tomcat* . +- Avoir installer tomcat 7 +- Etre loggué sur une console avec l'utilisateur root. -Pour utiliser une nouvelle version de l'application, c'est en 5 étapes : +On suppose que tomcat a été installé via le système de paquets, et donc +que le répertoire **/var/lib/tomcat7** existe. -- Arrêter le serveur tomcat +Pour utiliser une nouvelle version de l'application, c'est très simple. -:: - - service tomcat stop - - Supprimer les répertoires suivants : :: - rm -rf /opt/tomcat/webapps/echobase - rm -rf /opt/tomcat/work/Catalina/localhost/echobase + rm -rf /var/lib/tomcat7/webapps/echobase.war + rm -rf /var/lib/tomcat7/Catalina/localhost/echobase +- Attendre que le répertoire **/var/lib/tomcat7/webapps/echobase** a bien été supprimé. + - Copier le nouveau war dans **/var/local/echobase/war** - Changer le lien symbolique **/var/local/echobase/echobase.war** @@ -192,28 +172,37 @@ unlink echobase.war ln -s /var/local/echobasewar/echobase-full-${project.version}.war /var/local/echobase/echobase.war -- Relancer le serveur tomcat +- Mettre l'application dans tomcat :: - service tomcat start + cp /var/local/echobase/echobase.war /var/lib/tomcat7/webapps +Tomcat va redéployer l'application et elle sera disponible d'ici peu à l'adresse +:: + + http://localhost:8080/echobase + Divers ------ +Modifier la configuration par défaut +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Si vous voulez modifier la configuration (voir le `détail des options disponibles`_), +il faut positionner un fichier nommé **echobase.properties** dans +**/etc/echobase.properties** puis redémarrer tomcat. + Gestion des logs de l'application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Avant de lancer l'application, il faut avoir positionner une variable -**echobase.log.dir** de jvm qui définit le répertoire où positionner les logs -de l'application.:: +Par défaut, l'application utilise l'emplacement **/var/local/echobase/data/logs** +pour y placer ses logs. - JAVA_OPTS="$JAVA_OPTS -Dechobase.log.dir=/var/local/echobase/data/logs" +Vous pouvez changer cela en modifiant le fichier +**/var/local/echobase/data/echobase-log.properties** qui est généré lors de la +première installation de l'application. -ou:: - - CATALINA_OPTS="$CATALINA_OPTS -Dechobase.log.dir=/var/local/echobase/data/logs" - Première utilisation ~~~~~~~~~~~~~~~~~~~~ @@ -226,5 +215,5 @@ l'interface de gestion des utilisateurs. .. _créer une base travail: ./db.html#creation-d-une-base-postgresql -.. _echobase.properties: echobase.properties +.. _détail des options disponibles: ./application-config-report.html
participants (1)
-
tchemit@users.forge.codelutin.com