On Mon, Jun 30, 2008 at 7:45 AM, sparky2708 <[EMAIL PROTECTED]> wrote: > > I keep getting the following error message (I want everything to be logged to > /tmp directory. Please help... Not sure what I am doing wrong: > > Loading message broker from: > xbean:file:/activemq/conf/dev/activemq_master.xml > log4j:ERROR setFile(null,true) call failed. > java.io.FileNotFoundException: /activemq/global/dev/data/activemq.log > (Permission denied) > at java.io.FileOutputStream.openAppend(Native Method) > at java.io.FileOutputStream.<init>(FileOutputStream.java:177) > at java.io.FileOutputStream.<init>(FileOutputStream.java:102) > at org.apache.log4j.FileAppender.setFile(FileAppender.java:289) > at > org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:167) > at > org.apache.log4j.FileAppender.activateOptions(FileAppender.java:163) > at > org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256) > at > org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:132) > at > org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:96) > at > org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:654) > at > org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:612) > at > org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:509) > at > org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:415) > at > org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:441) > at > org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:470) > at org.apache.log4j.LogManager.<clinit>(LogManager.java:122) > at org.apache.log4j.Logger.getLogger(Logger.java:104) > at > org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:283) > at > org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:108) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:494) > at > org.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1040) > at > org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:838) > at > org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:601) > at > org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:333) > at > org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:307) > at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645) > at > org.apache.activemq.xbean.XBeanBrokerFactory.<clinit>(XBeanBrokerFactory.java:43) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:494) > at java.lang.Class.newInstance0(Class.java:350) > at java.lang.Class.newInstance(Class.java:303) > at > org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:55) > at > org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:42) > at > org.apache.activemq.broker.BrokerFactory.createBrokerFactoryHandler(BrokerFactory.java:41) > at > org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:70) > at > org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54) > at > org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:111) > at > org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:90) > at > org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57) > at > org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:129) > at > org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57) > at > org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:79) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at org.apache.activemq.console.Main.runTaskClass(Main.java:222) > at org.apache.activemq.console.Main.main(Main.java:106) > > > My config file is: > --------------- > <!-- > Licensed to the Apache Software Foundation (ASF) under one or more > contributor license agreements. See the NOTICE file distributed with > this work for additional information regarding copyright ownership. > The ASF licenses this file to You under the Apache License, Version 2.0 > (the "License"); you may not use this file except in compliance with > the License. You may obtain a copy of the License at > > http://www.apache.org/licenses/LICENSE-2.0 > > Unless required by applicable law or agreed to in writing, software > distributed under the License is distributed on an "AS IS" BASIS, > WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. > See the License for the specific language governing permissions and > limitations under the License. > --> > <!-- START SNIPPET: example --> > <beans > xmlns="http://www.springframework.org/schema/beans" > xmlns:amq="http://activemq.apache.org/schema/core" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans-2.0.xsd > http://activemq.apache.org/schema/core > http://activemq.apache.org/schema/core/activemq-core.xsd > http://activemq.apache.org/camel/schema/spring > http://activemq.apache.org/camel/schema/spring/camel-spring.xsd"> > > <!-- Allows us to use system properties as variables in this > configuration file --> > <bean > class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/> > > <broker useJmx="true" xmlns="http://activemq.apache.org/schema/core" > brokerName="localhost" dataDirectory="/tmp/data"> > > <!-- Destination specific policies using destination names or > wildcards --> > <destinationPolicy> > <policyMap> > <policyEntries> > <policyEntry queue=">" memoryLimit="5mb"/> > <policyEntry topic=">" memoryLimit="5mb"> > <dispatchPolicy> > <strictOrderDispatchPolicy/> > </dispatchPolicy> > <subscriptionRecoveryPolicy> > <lastImageSubscriptionRecoveryPolicy/> > </subscriptionRecoveryPolicy> > </policyEntry> > </policyEntries> > </policyMap> > </destinationPolicy> > > <!-- Use the following to configure how ActiveMQ is exposed in JMX > --> > <managementContext> > <managementContext createConnector="true"/> > </managementContext> > > <!-- The store and forward broker networks ActiveMQ will listen to > --> > <networkConnectors> > <!-- by default just auto discover the other brokers --> > <!-- <networkConnector name="default-nc" > uri="multicast://default"/> --> > <!-- Example of a static configuration: > <networkConnector name="host1 and host2" > uri="static://(tcp://host1:61616,tcp://host2:61616)"/> > --> > </networkConnectors> > > <persistenceAdapter> > <amqPersistenceAdapter syncOnWrite="false" directory="/tmp/data" > maxFileLength="20 mb"/> > </persistenceAdapter> > > <!-- Use the following if you wish to configure the journal with > JDBC --> > <!-- > <persistenceAdapter> > <journaledJDBC dataDirectory="${activemq.base}/data" > dataSource="#postgres-ds"/> > </persistenceAdapter> > --> > > <!-- Or if you want to use pure JDBC without a journal --> > <!-- > <persistenceAdapter> > <jdbcPersistenceAdapter dataSource="#postgres-ds"/> > </persistenceAdapter> > --> > > <!-- The maximum about of space the broker will use before slowing > down producers --> > <systemUsage> > <systemUsage> > <memoryUsage> > <memoryUsage limit="100 mb"/> > </memoryUsage> > <storeUsage> > <storeUsage limit="1 gb" name="foo"/> > </storeUsage> > <tempUsage> > <tempUsage limit="100 mb"/> > </tempUsage> > </systemUsage> > </systemUsage> > > > <!-- The transport connectors ActiveMQ will listen to --> > <transportConnectors> > <transportConnector name="openwire" uri="tcp://localhost:61616" > discoveryUri="multicast://default"/> > <transportConnector name="ssl" uri="ssl://localhost:61617"/> > <transportConnector name="stomp" uri="stomp://localhost:61613"/> > <transportConnector name="xmpp" uri="xmpp://localhost:61222"/> > </transportConnectors> > > </broker> > > <!-- > ** Lets deploy some Enterprise Integration Patterns inside the ActiveMQ > Message Broker > ** For more details see > ** > ** http://activemq.apache.org/enterprise-integration-patterns.html > --> > <camelContext id="camel" > xmlns="http://activemq.apache.org/camel/schema/spring"> > > <!-- You can use a <package> element for each root package to search > for Java routes --> > <package>org.foo.bar</package> > > <!-- You can use Spring XML syntax to define the routes here using > the <route> element --> > <route> > <from uri="activemq:example.A"/> > <to uri="activemq:example.B"/> > </route> > </camelContext> > > > <!-- Uncomment to create a command agent to respond to message based > admin commands on the ActiveMQ.Agent topic --> > <!-- > <commandAgent xmlns="http://activemq.apache.org/schema/core" > brokerUrl="vm://localhost"/> > --> > > > <!-- An embedded servlet engine for serving up the Admin console --> > <jetty xmlns="http://mortbay.com/schemas/jetty/1.0"> > <connectors> > <nioConnector port="8161"/> > </connectors> > > <handlers> > <webAppContext contextPath="/admin" > resourceBase="${activemq.base}/webapps/admin" logUrlOnStart="true"/> > <webAppContext contextPath="/demo" > resourceBase="${activemq.base}/webapps/demo" logUrlOnStart="true"/> > <webAppContext contextPath="/fileserver" > resourceBase="${activemq.base}/webapps/fileserver" logUrlOnStart="true"/> > </handlers> > </jetty> > > <!-- This xbean configuration file supports all the standard spring xml > configuration options --> > > <!-- Postgres DataSource Sample Setup --> > <!-- > <bean id="postgres-ds" class="org.postgresql.ds.PGPoolingDataSource"> > <property name="serverName" value="localhost"/> > <property name="databaseName" value="activemq"/> > <property name="portNumber" value="0"/> > <property name="user" value="activemq"/> > <property name="password" value="activemq"/> > <property name="dataSourceName" value="postgres"/> > <property name="initialConnections" value="1"/> > <property name="maxConnections" value="10"/> > </bean> > --> > > <!-- MySql DataSource Sample Setup --> > <!-- > <bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" > destroy-method="close"> > <property name="driverClassName" value="com.mysql.jdbc.Driver"/> > <property name="url" > value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/> > <property name="username" value="activemq"/> > <property name="password" value="activemq"/> > <property name="maxActive" value="200"/> > <property name="poolPreparedStatements" value="true"/> > </bean> > --> > > <!-- Oracle DataSource Sample Setup --> > <!-- > <bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource" > destroy-method="close"> > <property name="driverClassName" > value="oracle.jdbc.driver.OracleDriver"/> > <property name="url" value="jdbc:oracle:thin:@localhost:1521:AMQDB"/> > <property name="username" value="scott"/> > <property name="password" value="tiger"/> > <property name="maxActive" value="200"/> > <property name="poolPreparedStatements" value="true"/> > </bean> > --> > > <!-- Embedded Derby DataSource Sample Setup --> > <!-- > <bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource"> > <property name="databaseName" value="derbydb"/> > <property name="createDatabase" value="create"/> > </bean> > --> > > </beans> > <!-- END SNIPPET: example -->
The logging directory can be changed via the conf/log4j.properties file by changing the log4j.appender.out.file property to point to a different directory. Bruce -- perl -e 'print unpack("u30","D0G)[EMAIL PROTECTED]&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*" );' Apache ActiveMQ - http://activemq.org/ Apache Camel - http://activemq.org/camel/ Apache ServiceMix - http://servicemix.org/ Blog: http://bruceblog.org/