I’m posting this in the hopes that someone will find
this useful and possibly get checked in.
It was necessary for me to change the some of the colors of the HTMLLayout class.
Instead of keeping them hard-coded, I made some of them configurable as
in PatternLayout.
Here are the diffs: 55a56,80 > Background color of the title bar of the
table. > */ > private String tableTitleBarColor = "#336699"; >
> /** > Background color of the row beneath the
title bar. > */ > private String tableTitleColor = "#FFFFFF"; >
> /** > Background of the color of the error
displayed. > */ > private String tableErrorContentsColor = "#993300"; >
> /** > Font color of the error being displayed. > */ > private String tableErrorFontColor = "White"; >
> /** > Font size of the error being displayed. > */ > private String tableErrorFontSize = "xx-small"; >
> /** 112a138,139 > /** > */ 113a141,216 > void setTableTitleColor(String tableTitleColor) { > this.tableTitleColor
= tableTitleColor; > } >
> /** > */ > public > String getTableTitleColor() { > return tableTitleColor; > } >
> /** > Set the background color of the error
being displayed. > */ > public > void setTableErrorContentsColor(String tableErrorContentsColor) { > this.tableErrorContentsColor
= tableErrorContentsColor; > } >
> /** > Return the background color of the error
being displayed. > */ > public > String getTableErrorContentsColor() { > return tableErrorContentsColor; > } >
> /** > Set the color of the font for the error
being displayed. > */ > public > void setTableErrorFontColor(String tableErrorFontColor) { > this.tableErrorFontColor
= tableErrorFontColor; >
} >
> /** > Return the color of the font for the error
being displayed. > */ > public > String getTableErrorFontColor() { > return tableErrorFontColor; > } >
> /** > Set the size of the font for the error
being displayed. > */ > public > void setTableErrorFontSize(String tableErrorFontSize) { > this.tableErrorFontSize
= tableErrorFontSize; > } >
> /** > Return the size of the font for the error
being displayed. > */ > public > String getTableErrorFontSize() { > return tableErrorFontSize; > } >
> /** > Set the background color of the title bar. > */ > public > void setTableTitleBarColor() { > this.tableTitleBarColor
= tableTitleBarColor; > } >
> /** > Get the background color of the title bar. > */ > public > String getTableTitleBarColor() { > return tableTitleBarColor; > } >
> public 166c269 < sbuf.append("<tr><td bgcolor=\"#EEEEEE\" style=\"font-size :
xx-small;\" colspan=\"6\"
title=\"Nested Diagnostic Context\">"); --- > sbuf.append("<tr><td bgcolor=\"#EEEEEE\" style=\"font-size :
" + tableErrorFontSize + ";\" colspan=\"6\" title=\"Nested Diagnostic
Context\">"); 173c276 < sbuf.append("<tr><td bgcolor=\"#993300\" style=\"color:White; font-size : xx-small;\" colspan=\"6\">"); --- > sbuf.append("<tr><td bgcolor=\"" + tableErrorContentsColor
+ "\" style=\"color:" + tableErrorFontColor
+ "; font-size : " + tableErrorFontSize +
";\" colspan=\"6\">"); 209c312 < sbuf.append("th {background: #336699;
color: #FFFFFF; text-align: left;}" + Layout.LINE_SEP); --- > sbuf.append("th {background: " + tableTitleBarColor + "; color: #FFFFFF; text-align:
left;}" + Layout.LINE_SEP); 213c316 < sbuf.append("<body bgcolor=\"#FFFFFF\"
topmargin=\"6\" leftmargin=\"6\">"
+ Layout.LINE_SEP); --- > sbuf.append("<body bgcolor=\""
+ tableTitleColor + "\" topmargin=\"6\"
leftmargin=\"6\">" + Layout.LINE_SEP); Here is a snippet of a working log4j.xml: <appender name="mail" class="org.apache.log4j.net.SMTPAppender"> <param name="Threshold"
value="ERROR"/> <param name="BufferSize"
value="1"/> <param name="From" value="[EMAIL PROTECTED]"/> <param name="SMTPHost"
value="mesgterm.dr.avaya.com"/> <param name="Subject" value="Tomcat Error
Notification"/> <param name="To"
value="[EMAIL PROTECTED]"/>
<layout class="org.apache.log4j.HTMLLayout">
<param name="TableTitleColor"
value="#336699"/>
<param name="TableTitleColor"
value="#FFFFFF"/>
<param name="TableErrorContentsColor"
value="#FFFFFF"/>
<param name="TableErrorFontColor"
value="Black"/> <param
name="TableErrorFontSize"
value="x-small"/>
</layout> </appender> All the above values have default values, so that: <layout
class="org.apache.log4j.HTMLLayout"/> will also work. I’d be happy to pass along the source. Ron Ronald Rozensky Avaya, Inc. 727-217-1680 [EMAIL PROTECTED] |
- Re: HTMLLayout enhancement Rozensky, Ronald S (Ronald)
- Re: HTMLLayout enhancement Ceki Gülcü