activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bruce Snyder" <bruce.sny...@gmail.com>
Subject Re: How do I change the activemq.log directory
Date Mon, 30 Jun 2008 16:36:11 GMT
On Mon, Jun 30, 2008 at 7:45 AM, sparky2708 <daa82@columbia.edu> 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)U8V4\@4VYY9&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/

Mime
View raw message