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 15: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%>
<% }
}%>




