Sorry, it can't be socketHubReceiver, since it initiates a connection to the appender. But it could be locationInfo or MDC.
-----Original Message----- From: Scott Deboy [mailto:[EMAIL PROTECTED] Sent: Sat 11/5/2005 12:52 PM To: Log4J Users List Subject: RE: Help getting started with Chainsaw V2 So you saw one event, once? Definitely sounds like something else writing to the sockethubreceiver or mdc/locationinfo. Try removing all other appender references from your log4j.properties file. Did you search for mdc references in your code? You may want to try getting to the server from a different machine and see if you have the same results. If you are local, you could use logFilePatternReceiver to tail the log file from Chainsaw... Scott -----Original Message----- From: Bill Harrelson [mailto:[EMAIL PROTECTED] Sent: Sat 11/5/2005 12:06 PM To: Log4J Users List Subject: Re: Help getting started with Chainsaw V2 .1.2.12 Scott Deboy wrote: >What version of log4j are you using on the appender side? > >I haven't tested with versions prior to 1.2.8. > >Scott > > >-----Original Message----- >From: Bill Harrelson [mailto:[EMAIL PROTECTED] >Sent: Sat 11/5/2005 9:56 AM >To: Log4J Users List >Subject: Re: Help getting started with Chainsaw V2 > >Thanks very much. Did it. Does this help?: > >LOG4J-INTERNAL: 2005-11-05 12:51:08,717 DEBUG [javawsApplicationMain] >org.apache.log4j.net.SocketHubReceiver#fireConnector:212)- Starting a >new connector thread. >LOG4J-INTERNAL: 2005-11-05 12:51:08,717 DEBUG [javawsApplicationMain] >org.apache.log4j.joran.action.PluginAction#end:98)- Popping plugin named >[PL-LMD Receiver] from the object stack >log4j:INFO Creating new logger >[org.apache.log4j.joran.action.RootLoggerAction] in repository [default]. >LOG4J-INTERNAL: 2005-11-05 12:51:08,717 DEBUG [javawsApplicationMain] >org.apache.log4j.joran.action.RootLoggerAction#begin:43)- Pushing root >logger on stack >log4j:INFO Creating new logger >[org.apache.log4j.joran.action.LevelAction] in repository [default]. >LOG4J-INTERNAL: 2005-11-05 12:51:08,717 DEBUG [javawsApplicationMain] >org.apache.log4j.joran.action.LevelAction#begin:45)- Encapsulating >logger name is [root], levelvalue is [debug]. >LOG4J-INTERNAL: 2005-11-05 12:51:08,747 DEBUG [javawsApplicationMain] >org.apache.log4j.joran.action.LevelAction#begin:76)- root level set to DEBUG >LOG4J-INTERNAL: 2005-11-05 12:51:08,747 DEBUG [javawsApplicationMain] > >org.apache.log4j.joran.action.RootLoggerAction#end:61)- Removing root >logger from top of stack. >LOG4J-INTERNAL: 2005-11-05 12:51:08,747 DEBUG [javawsApplicationMain] >org.apache.log4j.joran.action.ConfigurationAction#end:49)- Will stop >writing internal logs on console. >log4j:INFO Returning existing logger [org.apache.log4j] in repository >[default]. >log4j:INFO Creating new logger >[org.apache.log4j.joran.JoranConfigurator] in repository [default]. >log4j:INFO Returning existing logger [org.apache.log4j] in repository >[default]. >log4j:INFO Creating new logger >[org.apache.log4j.chainsaw.help.HelpLocator] in repository [default]. >log4j:INFO Creating new logger >[org.apache.log4j.chainsaw.help.HelpManager] in repository [default]. >log4j:INFO Creating new logger >[org.apache.log4j.chainsaw.receivers.ReceiversHelper] in repository >[default]. >log4j:INFO Creating new logger >[org.apache.log4j.chainsaw.receivers.PluginPropertyEditorPanel] in >repository [default]. >log4j:INFO Creating new logger >[org.apache.log4j.chainsaw.receivers.ReceiversPanel] in repository >[default]. >log4j:INFO Creating new logger >[org.apache.log4j.chainsaw.receivers.ReceiversTreeModel] in repository >[default]. >log4j:INFO Creating new logger > >[org.apache.log4j.chainsaw.icons.LineIconFactory] in repository [default]. >log4j:INFO Creating new logger >[org.apache.log4j.chainsaw.FileLoadAction] in repository [default]. >log4j:INFO Creating new logger [org.apache.log4j.xml.SAXErrorHandler] in >repository [default]. >log4j:INFO Returning existing logger >[org.apache.log4j.xml.SAXErrorHandler] in repository [default]. >log4j:INFO Returning existing logger >[org.apache.log4j.xml.SAXErrorHandler] in repository [default]. >log4j:INFO Returning existing logger >[org.apache.log4j.xml.SAXErrorHandler] in repository [default]. >log4j:INFO Creating new logger >[org.apache.log4j.chainsaw.dnd.FileDnDTarget] in repository [default]. >log4j:INFO Creating new logger >[org.apache.log4j.chainsaw.ApplicationPreferenceModelPanel] in >repository [default]. >log4j:INFO Creating new logger >[org.apache.log4j.chainsaw.messages.MessageCenter] in repository [default]. >5528 [javawsApplicationMain] ERROR >org.apache.log4j.varia.ListModelAppender - Attempted to log with >inactive appender named [null]. >5538 [javawsApplicationMain] ERROR org.apache.log4j.chainsaw.LogUI$12 - >Attempted to log with inactive appender named [null]. >Wanting to add a row, but GUI not initialized, waiting... >log4j:INFO Creating new logger >[org.apache.log4j.chainsaw.LogPanelPreferenceModel] in repository [default]. >log4j:INFO Creating new logger [org.apache.log4j.chainsaw.LogPanel] in >repository [default]. >log4j:INFO Creating new logger >[org.apache.log4j.chainsaw.ChainsawCyclicBufferTableModel] in repository >[default]. >log4j:INFO Creating new logger >[org.apache.log4j.chainsaw.LogPanelLoggerTreeModel] in repository [default]. >log4j:INFO Creating new logger >[org.apache.log4j.chainsaw.LoggerNameTreePanel] in repository [default]. >log4j:INFO Creating new logger [com.mycompany.mylogger] in repository >[default]. >23393 [Thread-13] INFO org.apache.log4j.net.SocketNode - Caught >java.io.EOFException closing connection. >84291 [Thread-20] INFO org.apache.log4j.net.SocketNode - Caught >java.io.EOFException closing connection. > > >Scott Deboy wrote: > > > >>In Windows: >> >>If you have java 1.4, Java Web Start has it's own menu under start-programs. >>file-preferences, advanced tab, check 'show java console'. You can also hit >>the 'clear folder' button from there to remove Chainsaw from your web start >>cache so it has to be downloaded again. >> >>If you have java 1.5, go to control panel, java. On the 'Advanced' tab, >>expand the 'java console' link and select 'show console'. To clear your app >>cache, go to the general tab, then select settings, the 'view applications' >>button, select 'log4j chainsaw v2' and hit the 'remove selected application' >>button. >> >>MDC is mapped diagnostic context - a way to associate name/value pairs with a >>thread that are logged with every log event - used for example when you are >>logging a server-side app and want to associate the user initiating the >>process with the logging events for that process. search your code for MDC. >> >>On Linux, you probably have to find the javaws app and run it, and find the >>console option and check it. >> >>Scott >> >> >>-----Original Message----- >>From: Bill Harrelson [mailto:[EMAIL PROTECTED] >>Sent: Fri 11/4/2005 8:33 PM >>To: Log4J Users List >>Subject: Re: Help getting started with Chainsaw V2 >> >> >> >>Scott Deboy wrote: >> >> >> >> >> >>>try enabling the webstart java console, in case this is triggering an >>>uncaught exception. >>> >>> >>> >>> >>> >>> >>Sorry to appear thick, but could you tell me how to do this? >> >> >> >> >> >>>are you sure your app doesn't use mdc? >>> >>> >>> >>> >>> >>> >>I don't think I know what mdc is. My app is a Tomcat webapp, mostly jsp's. >> >> >> >> >> >>>you could also delete the user.dir/.chainsaw directory - shouldn't cause a >>>problem but that's where settings are stored. >>> >>> >>> >>> >>> >>> >>Ok, thanks, I'll try. >> >> >> >> >> >>>-----Original Message----- >>>From: Bill Harrelson [mailto:[EMAIL PROTECTED] >>>Sent: Fri 11/4/2005 6:44 PM >>>To: Log4J Users List >>>Subject: Re: Help getting started with Chainsaw V2 >>> >>>Thanks Scott, >>> >>>I tried your suggestion and got some odd behavior. At first, it created >>>a tab in chainsaw, recorded one message, and stopped. >>> >>>I tried repeatedly stopping and starting everything, and even taking all >>>other appenders out, but it never created the tab after that one time. >>> >>>I do notice in the chainsaw log that whenever application logging >>>occurs, that a new connector thread is started, it waits, get a >>>successful connection and exits. >>> >>>Any other ideas? >>> >>>tia, >>> >>>Bill >>> >>> >>>Scott Deboy wrote: >>> >>> >>> >>> >>> >>> >>> >>>>Change the order of appenders in your rootCategory entry, so that the >>>>chainsaw appender is first in the list. >>>> >>>>The reason: logging event changed between 1.2.x and 1.3 - events sent by >>>>a 1.2.x socketappender can't contain location info (file, line, class, >>>>etc) or MDC entries if you want them to be received by a log4j 1.3 >>>>socketreceiver (Chainsaw v2). >>>> >>>>Scott >>>> >>>>-----Original Message----- >>>>From: Bill Harrelson [mailto:[EMAIL PROTECTED] >>>>Sent: Friday, November 04, 2005 1:00 PM >>>>To: Log4J Users List >>>>Subject: Re: Help getting started with Chainsaw V2 >>>> >>>>The idea of using SocketHubAppender was very helpful, in theory for what >>>>I want, but I'm having trouble getting it to work. Logging is working >>>>fine to stdout and weblog, but chainsaw doesn't see anything. It >>>>doesn't even create a tab for the receiver. >>>> >>>>Here's my log4j config file: >>>>log4j.rootCategory=INFO, stdout, weblog , chainsaw >>>>log4j.appender.stdout=org.apache.log4j.ConsoleAppender >>>>log4j.appender.stdout.layout=org.apache.log4j.PatternLayout >>>>log4j.appender.stdout.layout.ConversionPattern=%d{DATE} [%c{2}]: %-5p:%x >>>>%m%n >>>> >>>>log4j.appender.weblog=org.apache.log4j.RollingFileAppender >>>>log4j.appender.weblog.File=C:/jakarta-tomcat-4.1.24/webapps/Root/logs/RO >>>>OTlog4j.html >>>> >>>>log4j.appender.weblog.MaxBackupIndex=100 >>>>log4j.appender.weblog.layout=org.apache.log4j.HTMLLayout >>>> >>>>log4j.appender.R=org.apache.log4j.RollingFileAppender >>>>log4j.appender.R.File=C:/jakarta-tomcat-4.1.24/logs/log4jROOT.log >>>>log4j.appender.R.layout=org.apache.log4j.PatternLayout >>>>log4j.appender.R.MaxBackupIndex=100 >>>>log4j.appender.R.layout.ConversionPattern=%d{DATE} [%c{1}]: %-5p:%x %m%n >>>> >>>>log4j.appender.chainsaw=org.apache.log4j.net.SocketHubAppender >>>>log4j.appender.chainsaw.Port=7449 >>>> >>>>Here's my chainsaw config file: >>>> >>>><?xml version="1.0" encoding="UTF-8" ?> >>>><!DOCTYPE log4j:configuration > >>>><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" >>>>debug="true"> >>>> >>>><plugin name="Extract Receiver" >>>>class="org.apache.log4j.net.SocketReceiver"> >>>><param name="Port" value="4560" /> >>>><level value="info" /> >>>></plugin> >>>> >>>><plugin name="PL-LMD Receiver" >>>>class="org.apache.log4j.net.SocketHubReceiver"> >>>><param name="Host" value="localhost" /> >>>><param name="Port" value="7449" /> >>>><param name="reconnectionDelay" value="30000" /> >>>><level value="info" /> >>>></plugin> >>>> >>>><root> >>>><level value="debug" /> >>>></root> >>>> >>>></log4j:configuration> >>>> >>>>Here's the last few entries in my Chainsaw log file: >>>><log4j:event logger="org.apache.log4j.net.SocketHubReceiver" >>>>timestamp="1131136854624" sequenceNumber="73" level="DEBUG" >>>>thread="Thread-18"> >>>><log4j:message><![CDATA[Starting a new connector >>>>thread.]]></log4j:message> <log4j:properties> >>>><log4j:data name="application" value="log"/> >>>><log4j:data name="hostname" value="chainsaw"/> >>>><log4j:data name="log4jid" value="47"/> </log4j:properties> >>>></log4j:event> >>>> >>>><log4j:event logger="org.apache.log4j.net.SocketHubReceiver" >>>>timestamp="1131136854624" sequenceNumber="74" level="DEBUG" >>>>thread="Thread-18"> >>>><log4j:message><![CDATA[waiting for 30000 milliseconds before >>>>reconnecting.]]></log4j:message> <log4j:properties> >>>><log4j:data name="application" value="log"/> >>>><log4j:data name="hostname" value="chainsaw"/> >>>><log4j:data name="log4jid" value="48"/> </log4j:properties> >>>></log4j:event> >>>> >>>><log4j:event logger="org.apache.log4j.net.SocketHubReceiver" >>>>timestamp="1131136884627" sequenceNumber="75" level="DEBUG" >>>>thread="Thread-18"> >>>><log4j:message><![CDATA[Attempting connection to >>>>localhost]]></log4j:message> <log4j:properties> >>>><log4j:data name="application" value="log"/> >>>><log4j:data name="hostname" value="chainsaw"/> >>>><log4j:data name="log4jid" value="49"/> </log4j:properties> >>>></log4j:event> >>>> >>>><log4j:event logger="org.apache.log4j.net.SocketHubReceiver" >>>>timestamp="1131136885278" sequenceNumber="76" level="DEBUG" >>>>thread="Thread-18"> >>>><log4j:message><![CDATA[Connection established. Exiting connector >>>>thread.]]></log4j:message> <log4j:properties> >>>><log4j:data name="application" value="log"/> >>>><log4j:data name="hostname" value="chainsaw"/> >>>><log4j:data name="log4jid" value="50"/> </log4j:properties> >>>></log4j:event> >>>> >>>><log4j:event logger="org.apache.log4j.net.SocketHubReceiver" >>>>timestamp="1131136892378" sequenceNumber="77" level="DEBUG" >>>>thread="Thread-18"> >>>><log4j:message><![CDATA[Starting a new connector >>>>thread.]]></log4j:message> <log4j:properties> >>>><log4j:data name="application" value="log"/> >>>><log4j:data name="hostname" value="chainsaw"/> >>>><log4j:data name="log4jid" value="51"/> </log4j:properties> >>>></log4j:event> >>>> >>>><log4j:event logger="org.apache.log4j.net.SocketHubReceiver" >>>>timestamp="1131136892688" sequenceNumber="78" level="DEBUG" >>>>thread="Thread-18"> >>>><log4j:message><![CDATA[waiting for 30000 milliseconds before >>>>reconnecting.]]></log4j:message> <log4j:properties> >>>><log4j:data name="application" value="log"/> >>>><log4j:data name="hostname" value="chainsaw"/> >>>><log4j:data name="log4jid" value="52"/> </log4j:properties> >>>></log4j:event> >>>> >>>><log4j:event logger="org.apache.log4j.net.SocketHubReceiver" >>>>timestamp="1131136922691" sequenceNumber="79" level="DEBUG" >>>>thread="Thread-18"> >>>><log4j:message><![CDATA[Attempting connection to >>>>localhost]]></log4j:message> <log4j:properties> >>>><log4j:data name="application" value="log"/> >>>><log4j:data name="hostname" value="chainsaw"/> >>>><log4j:data name="log4jid" value="53"/> </log4j:properties> >>>></log4j:event> >>>> >>>><log4j:event logger="org.apache.log4j.net.SocketHubReceiver" >>>>timestamp="1131136922732" sequenceNumber="80" level="DEBUG" >>>>thread="Thread-18"> >>>><log4j:message><![CDATA[Connection established. Exiting connector >>>>thread.]]></log4j:message> <log4j:properties> >>>><log4j:data name="application" value="log"/> >>>><log4j:data name="hostname" value="chainsaw"/> >>>><log4j:data name="log4jid" value="54"/> </log4j:properties> >>>></log4j:event> >>>> >>>>I can telnet to port 7449 and get a connection, but I can't figure out >>>>what is happening. >>>>Any ideas? >>>> >>>>Any help is appreciated, >>>> >>>>Bill >>>> >>>>Scott Deboy wrote: >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>SocketReceiver just needs a port to listen on - it's accepting >>>>>connections on a port. SocketAppender is told the host and port of the >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>SocketReceiver - the appender connects to the receiver and sends >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>events. >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>If you change the 'remoteHost' param in your appender config to the IP >>>>>address of the machine running Chainsaw it will work (your Chainsaw >>>>>receiver config is fine). >>>>> >>>>>I forgot one appender/receiver combination that would probably be more >>>>>useful in your case: SocketHubAppender and SocketHubReceiver >>>>> >>>>>The difference between SocketAppender/Receiver and >>>>>SocketHubAppender/Receiver: >>>>> >>>>>With SocketAppender and SocketReceiver, the -appender- connects to the >>>>>receiver - the appender can only send events to the single client >>>>>running the socketreceiver >>>>> >>>>>With SocketHubAppender and SocketHubReceiver, this is reversed: the >>>>>-receiver- connects to the appender - so you can run Chainsaw from any >>>>>number of clients and connect to the server running a SocketHubAppender >>>>> >>>>>Try out SocketHubAppender and Receiver, and more than one person can >>>>>view the events at the same time, without changing your server >>>>>configuration. >>>>> >>>>>Hope this helps, >>>>>Scott >>>>>-----Original Message----- >>>>>From: Rakesh Patel [mailto:[EMAIL PROTECTED] >>>>>Sent: Wednesday, November 02, 2005 9:41 AM >>>>>To: Log4J Users List >>>>>Subject: RE: Help getting started with Chainsaw V2 >>>>> >>>>>Hi Scott, >>>>> >>>>>Well I ran my app locally and configured the log4j.xml file like this: >>>>> >>>>><appender name="socketLogger" >>>>>class="org.apache.log4j.net.SocketAppender"> >>>>> <param name="RemoteHost" value="localhost"/> >>>>> <param name="Port" value="4445"/> >>>>> <param name="LocationInfo" value="false"/> >>>>></appender> >>>>> >>>>>Then in Chainsaw set up a new SocketReceiver and gave a port of 4445. >>>>> >>>>>It worked!!!! >>>>> >>>>>Now I have deployed my app to a remote server with the settings above >>>>>but do not know how to configure the SocketReceiver in Chainsaw to >>>>>accept events. I tried to put the ip address of the remote server in >>>>>the listener property but it won't hold. >>>>> >>>>>What am I missing? >>>>> >>>>>Cheers >>>>> >>>>>Rakesh >>>>> >>>>>-----Original Message----- >>>>>From: Rakesh Patel >>>>>Sent: 02 November 2005 16:37 >>>>>To: Log4J Users List >>>>>Subject: RE: Help getting started with Chainsaw V2 >>>>> >>>>> >>>>>Thank you Scott. I will read through your post carefully. >>>>> >>>>>Can I ask one quick question just in case - can I setup a >>>>>SocketAppender in my remote app sending events on port 4445 which is >>>>>using log4j1.2x and have them received by Chainsaw v2? If so, I can go >>>>>through your mail knowing its possible. >>>>> >>>>>Cheers >>>>> >>>>>Rakesh >>>>> >>>>>-----Original Message----- >>>>>From: Scott Deboy [mailto:[EMAIL PROTECTED] >>>>>Sent: 02 November 2005 16:16 >>>>>To: Log4J Users List >>>>>Subject: RE: Help getting started with Chainsaw V2 >>>>> >>>>> >>>>>Resending, hoping spaces make the table display correctly. >>>>> >>>>>----- >>>>>Receivers do the work of getting logging events into the log4j >>>>>framework from some external source. >>>>>Log4j 1.3 provides receivers that can process events generated by a >>>>>number of logging frameworks, custom SQL databases, and any >>>>>VFS-accessible file system. >>>>> >>>>>Here's a list of event sources and receivers that can process the >>>>>events: >>>>> >>>>>Network: >>>>>SocketAppender SocketReceiver >>>>>UDPAppender UDPReceiver >>>>>MulticastAppender MulticastReceiver >>>>>Log4CXX/Log4PHP/Log4Perl Socket Appender XMLSocketReciever >>>>>Log4Net UDPAppender (using Log4j's DTD schema) UDPReceiver >>>>>java.util.logging SocketHandler XMLSocketReceiver using >>>>>UtilLoggingXMLDecoder >>>>> >>>>>Database: >>>>>DBAppender (log4j-defined schema) DBReceiver >>>>>Custom schema (you specify the SQL) CustomSQLDBReceiver >>>>> >>>>>File: >>>>>FileAppender using PatternLayout LogFilePatternReceiver >>>>>(must be accessible as a URL) >>>>>VFS-supported file systems (SSH, FTP, etc) VFSLogFilePatternReceiver >>>>> >>>>>You can also open existing logging files stored using log4j's XMLLayout >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>or java.util.logging's XMLFormatter from the File menu. >>>>> >>>>>To automatically configure receivers in Chainsaw, create a log4j.xml >>>>>configuration file containing 'plugin' entries, similar to 'appender' >>>>>entries, but they define receiver configurations. >>>>> >>>>>You can find an example receiver config file on Chainsaw's Welcome >>>>>tab's >>>>>toolbar: the 'View example receiver configuration' button. >>>>> >>>>>Create your own configuration file. Select 'view, show >>>>>application-wide preferences' menu, specify the URL to your config file >>>>> >>>>> >>>>> >>>>> >> >> >> >> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>in the automatic configuration URL box and restart Chainsaw. >>>>> >>>>>You can also define many receivers from inside the Chainsaw GUI - >>>>>select the 'view, show receivers' menu item. From there you can create >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>new receivers, delete receivers, change existing receiver >>>>>configurations, start and stop receivers, etc. >>>>> >>>>>Scott >>>>> >>>>>-----Original Message----- >>>>>From: Rakesh Patel [mailto:[EMAIL PROTECTED] >>>>>Sent: Wednesday, November 02, 2005 7:38 AM >>>>>To: Log4J Users List >>>>>Subject: Help getting started with Chainsaw V2 >>>>> >>>>>Hi, >>>>> >>>>>Must have missed something! >>>>> >>>>>I have my log4j (actually nlog4j) set up quite nicely. I deployed >>>>>recently to our production boxes and thought it would be good to keep >>>>>an eye on it remotely. I had a little success with an Eclipse plugin >>>>>called Ganymede and a corresponding SocketAppender. >>>>> >>>>>Anyway, Chainsaw looks much better so I installed it (via WebStart) and >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>started the tutorial. I know understand the GUI. However, where's the >>>>>information on how to setup log4j? I do not think I can remotely access >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>files on the boxes so I thought functionality like the SocketAppender >>>>>would be good. >>>>> >>>>>Can anyone tell me or point me to the information on how to configure >>>>>log4j to send Chainsaw events? >>>>> >>>>>Thanks >>>>> >>>>>Rakesh >>>>> >>>>> >>>>>American Express Investments and American Express Independent Financial >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>Advisers are marketing names for American Express Financial Services >>>>>Europe Limited, a separate corporation within the American Express >>>>>group of companies. American Express Financial Services Europe Limited >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>is authorised and regulated by, and is entered into the register (No. >>>>>190853 www.fsa.gov.uk/register/) of, the Financial Services Authority >>>>>and a member of the London Stock Exchange. Registered in England No. >>>>>3614902. Registered address: 230 Blackfriars Road, London SE1 8NW. Vat >>>>>No. 740 4143 68. >>>>> >>>>>The information in this email and any attachments is confidential and >>>>>intended solely for the attention and use of the named addressee(s). It >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>may be subject to legal, professional or other privilege and further >>>>>distribution of it is strictly prohibited without our authority. If >>>>>you are not the intended recipient, you are not authorised to and must >>>>>not disclose, copy, distribute, or retain this message or any part of >>>>>it, and should notify us immediately. >>>>> >>>>> >>>>>--------------------------------------------------------------------- >>>>>To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>>For additional commands, e-mail: [EMAIL PROTECTED] >>>>> >>>>> >>>>>--------------------------------------------------------------------- >>>>>To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>>For additional commands, e-mail: [EMAIL PROTECTED] >>>>> >>>>> >>>>> >>>>>American Express Investments and American Express Independent Financial >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>Advisers are marketing names for American Express Financial Services >>>>>Europe Limited, a separate corporation within the American Express >>>>>group of companies. American Express Financial Services Europe Limited >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>is authorised and regulated by, and is entered into the register (No. >>>>>190853 www.fsa.gov.uk/register/) of, the Financial Services Authority >>>>>and a member of the London Stock Exchange. Registered in England No. >>>>>3614902. Registered address: 230 Blackfriars Road, London SE1 8NW. Vat >>>>>No. 740 4143 68. >>>>> >>>>>The information in this email and any attachments is confidential and >>>>>intended solely for the attention and use of the named addressee(s). It >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>may be subject to legal, professional or other privilege and further >>>>>distribution of it is strictly prohibited without our authority. If >>>>>you are not the intended recipient, you are not authorised to and must >>>>>not disclose, copy, distribute, or retain this message or any part of >>>>>it, and should notify us immediately. >>>>> >>>>> >>>>>--------------------------------------------------------------------- >>>>>To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>>For additional commands, e-mail: [EMAIL PROTECTED] >>>>> >>>>> >>>>> >>>>>American Express Investments and American Express Independent Financial >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>Advisers are marketing names for American Express Financial Services >>>>>Europe Limited, a separate corporation within the American Express >>>>>group of companies. American Express Financial Services Europe Limited >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>is authorised and regulated by, and is entered into the register (No. >>>>>190853 www.fsa.gov.uk/register/) of, the Financial Services Authority >>>>>and a member of the London Stock Exchange. Registered in England No. >>>>>3614902. Registered address: 230 Blackfriars Road, London SE1 8NW. Vat >>>>>No. 740 4143 68. >>>>> >>>>>The information in this email and any attachments is confidential and >>>>>intended solely for the attention and use of the named addressee(s). It >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>>>may be subject to legal, professional or other privilege and further >>>>>distribution of it is strictly prohibited without our authority. If >>>>>you are not the intended recipient, you are not authorised to and must >>>>>not disclose, copy, distribute, or retain this message or any part of >>>>>it, and should notify us immediately. >>>>> >>>>> >>>>>--------------------------------------------------------------------- >>>>>To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>>For additional commands, e-mail: [EMAIL PROTECTED] >>>>> >>>>> >>>>>--------------------------------------------------------------------- >>>>>To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>>For additional commands, e-mail: [EMAIL PROTECTED] >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>--------------------------------------------------------------------- >>>>To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>For additional commands, e-mail: [EMAIL PROTECTED] >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>------------------------------------------------------------------------ >>> >>>--------------------------------------------------------------------- >>>To unsubscribe, e-mail: [EMAIL PROTECTED] >>>For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >>> >>> >>> >> >> >>------------------------------------------------------------------------ >> >>--------------------------------------------------------------------- >>To unsubscribe, e-mail: [EMAIL PROTECTED] >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> > > > > >------------------------------------------------------------------------ > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] >
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
