Differenze tra le versioni di "Programmazione:Java/Eclipse RCP/Log4J configurabile da Extension Point"
Riga 10: | Riga 10: | ||
|} | |} | ||
+ | |||
+ | Dopo bisogna convertirlo in un progetto Java Entermitted Template (JET): | ||
+ | {| cellspacing=15 width="100%" | ||
+ | |||
+ | |- valign="top" | ||
+ | |width="50%"| | ||
+ | [[Immagine:LoggerJetConversion.jpg]] | ||
+ | |width="50%"| | ||
+ | [[Immagine:LoggerJetConversion2.jpg]] | ||
+ | |||
+ | |} | ||
+ | |||
+ | e configurarlo in maniera corretta: | ||
+ | |||
+ | [[Immagine:LoggerJetConversion3.jpg]] | ||
+ | |||
+ | A questo punto è possibile iniziare la scrittura del template.... | ||
+ | |||
+ | ==JET Template== | ||
+ | Questo è un template JET che permette la generzione di un file di configurazione di log4j | ||
+ | <code xml> | ||
+ | <%@ jet package="org.logger.log4j.logger.generator" imports="org.logger.log4j.logger.bean.*" class="Log4JGenerator" %><% | ||
+ | Log4JDefinitionBean bean = (Log4JDefinitionBean)argument; | ||
+ | %> | ||
+ | log4j.rootLogger=<%=bean.rootLevel.toString()%> | ||
+ | |||
+ | # -----> Logger definition | ||
+ | <% for(java.util.Iterator<LoggerDefinition> it = bean.loggers.iterator(); it.hasNext();) { | ||
+ | LoggerDefinition o = it.next(); | ||
+ | if(o.appenders.size() > 0) { | ||
+ | %> | ||
+ | log4j.logger.<%=o.logger%>=<%=o.level.toString()%>,<%= o.log_in_console ? " APPENDER_CONSOLE, " : " "%><%=o.getAppenders()%> | ||
+ | <%} | ||
+ | } | ||
+ | %> | ||
+ | |||
+ | # ---------------------------------------------------------------- | ||
+ | # APPENDER_CONSOLE appender | ||
+ | # ---------------------------------------------------------------- | ||
+ | log4j.appender.APPENDER_CONSOLE=org.apache.log4j.ConsoleAppender | ||
+ | log4j.appender.APPENDER_CONSOLE.layout=org.apache.log4j.PatternLayout | ||
+ | log4j.appender.APPENDER_CONSOLE.layout.ConversionPattern=[%d] [%-5p] [%c{3}] - %m %n | ||
+ | <% for(java.util.Iterator<AppenderDefinition> it = bean.appenders.iterator(); it.hasNext();) { | ||
+ | AppenderDefinition o = it.next(); | ||
+ | %> | ||
+ | |||
+ | # ---------------------------------------------------------------- | ||
+ | # <%=o.appender %> appender | ||
+ | # ---------------------------------------------------------------- | ||
+ | log4j.appender.<%=o.appender %>.File=<%=o.file%> | ||
+ | log4j.appender.<%=o.appender %>.layout=<%=o.layout_class%> | ||
+ | log4j.appender.<%=o.appender %>.layout.ConversionPattern=<%=o.layout_conversion_pattern%> | ||
+ | log4j.appender.<%=o.appender %>.append=<%=o.append%> | ||
+ | <%if(o instanceof DailyAppenderDefinition) { %> | ||
+ | # Daily LOG | ||
+ | log4j.appender.<%=o.appender %>=org.apache.log4j.DailyRollingFileAppender | ||
+ | log4j.appender.<%=o.appender %>.DatePattern=<%=((DailyAppenderDefinition)o).date_pattern%> | ||
+ | <% } else if(o instanceof RollingAppenderDefinition) {%> | ||
+ | # Rolling LOG | ||
+ | log4j.appender.<%=o.appender %>=org.apache.log4j.RollingFileAppender | ||
+ | log4j.appender.<%=o.appender %>.MaxFileSize=<%=((RollingAppenderDefinition)o).max_size%> | ||
+ | log4j.appender.<%=o.appender %>.MaxBackupIndex=<%=((RollingAppenderDefinition)o).max_backup%> | ||
+ | |||
+ | <% } | ||
+ | }%> | ||
+ | </code> |
Versione delle 16:35, 16 nov 2007
Per avere un logger Log4J configurabile da extension point bisogna prima di tutto crearsi il progetto di tipo plugin:
Dopo bisogna convertirlo in un progetto Java Entermitted Template (JET):
e configurarlo in maniera corretta:
A questo punto è possibile iniziare la scrittura del template....
JET Template
Questo è un template JET che permette la generzione di un file di configurazione di log4j
<%@ jet package="org.logger.log4j.logger.generator" imports="org.logger.log4j.logger.bean.*" class="Log4JGenerator" %><%
Log4JDefinitionBean bean = (Log4JDefinitionBean)argument;
%>
log4j.rootLogger=<%=bean.rootLevel.toString()%>
- -----> Logger definition
<% for(java.util.Iterator<LoggerDefinition> it = bean.loggers.iterator(); it.hasNext();) {
LoggerDefinition o = it.next();
if(o.appenders.size() > 0) {
%>
log4j.logger.<%=o.logger%>=<%=o.level.toString()%>,<%= o.log_in_console ? " APPENDER_CONSOLE, " : " "%><%=o.getAppenders()%>
<%}
}
%>
- ----------------------------------------------------------------
- APPENDER_CONSOLE appender
- ----------------------------------------------------------------
log4j.appender.APPENDER_CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.APPENDER_CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.APPENDER_CONSOLE.layout.ConversionPattern=[%d] [%-5p] [%c{3}] - %m %n
<% for(java.util.Iterator<AppenderDefinition> it = bean.appenders.iterator(); it.hasNext();) {
AppenderDefinition o = it.next();
%>
- ----------------------------------------------------------------
- <%=o.appender %> appender
- ----------------------------------------------------------------
log4j.appender.<%=o.appender %>.File=<%=o.file%>
log4j.appender.<%=o.appender %>.layout=<%=o.layout_class%>
log4j.appender.<%=o.appender %>.layout.ConversionPattern=<%=o.layout_conversion_pattern%>
log4j.appender.<%=o.appender %>.append=<%=o.append%>
<%if(o instanceof DailyAppenderDefinition) { %>
- Daily LOG
log4j.appender.<%=o.appender %>=org.apache.log4j.DailyRollingFileAppender
log4j.appender.<%=o.appender %>.DatePattern=<%=((DailyAppenderDefinition)o).date_pattern%>
<% } else if(o instanceof RollingAppenderDefinition) {%>
- Rolling LOG
log4j.appender.<%=o.appender %>=org.apache.log4j.RollingFileAppender
log4j.appender.<%=o.appender %>.MaxFileSize=<%=((RollingAppenderDefinition)o).max_size%>
log4j.appender.<%=o.appender %>.MaxBackupIndex=<%=((RollingAppenderDefinition)o).max_backup%>
<% }
}%>