logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Grobmeier <grobme...@gmail.com>
Subject Re: No appenders could be found for logger (poker.Deck) [WARN]
Date Sun, 24 Apr 2011 12:13:43 GMT
> What do you mean by additivity flag?
please read the link i sent
> I've noticed that replacing the
> _log.debug with System.out.println() does not result in the same error:

Yes - of course. Your property file shows 2 appenders logging to the
cmd, the root logger and the consoleAppender.

If you comment the 2 two lines starting with:
log4j.appender.consoleAppender

it should look cool

Cheers!


 ...
> System.out.println(playerOne);
> ...
> Output
> Player One holds the following cards: THREE of DIAMONDS KING of DIAMONDS
> whilst...
> ...
> _log.debug(playerTwo + ".");
> ...
> Output
> 172 [main] DEBUG poker.Poker  - Player Two holds the following cards: TEN of
> DIAMONDS SEVEN of SPADES .
> 172 [main] DEBUG poker.Poker  - Player Two holds the following cards: TEN of
> DIAMONDS SEVEN of SPADES .
> 172 [main] DEBUG poker.Poker  - Player Two holds the following cards: TEN of
> DIAMONDS SEVEN of SPADES .
> ...
>
> On 24 April 2011 13:22, Christian Grobmeier <grobmeier@gmail.com> wrote:
>>
>> Hey Jonathan,
>>
>> the log4j configuration is more of interest for your case. However, as
>> you now got output, I assume the logging itself is working.
>>
>> Your double entries - for that i am pretty sure - come from the additivity
>> flag.
>>
>> Please go to: http://logging.apache.org/log4j/1.2/manual.html
>> and search for "Appender Additivity"
>>
>> This will help you
>>
>> cheers
>>
>>
>> On Sun, Apr 24, 2011 at 1:17 PM, Jonathan Camilleri
>> <camilleri.jon@gmail.com> wrote:
>> > Well thanks for the information about pom.xml, I'm trying to stick with
>> > log4j.properties, so I'm attaching a copy of my cmd.log - command line
>> > log.
>> > I've encountered another weird problem when trying to review the output
>> > of
>> > Apache log 4j on the console, since some how lines are being written
>> > multiple times, although I suspect this has to do with looping through
>> > an
>> > ArrayList (a java problem), however, I am not sure, because I haven't
>> > noticed any flaws in my code:
>> > Code
>> > package poker;
>> > import java.awt.Image;
>> > import java.io.BufferedInputStream;
>> > import java.io.File;
>> > import java.io.FileInputStream;
>> > import java.io.IOException;
>> > import java.io.InputStream;
>> > import java.util.*;
>> > import javax.imageio.ImageIO;
>> > import org.apache.log4j.BasicConfigurator;
>> > import org.apache.log4j.Logger;
>> > public class Poker {
>> > public static void main(String[] args) {
>> > BasicConfigurator.configure();
>> > ...
>> > Player playerOne = new Player("Player One");
>> > playerOne.getCardFromDealer(getTopCard());
>> > playerOne.getCardFromDealer(getTopCard());
>> > _log.debug(playerOne + ".");
>> > _log.debug(playerOne.hashCode());
>> > Player playerTwo = new Player("Player Two");
>> > playerTwo.getCardFromDealer(getTopCard());
>> > playerTwo.getCardFromDealer(getTopCard());
>> > _log.debug(playerTwo + ".");
>> > _log.debug(playerTwo.hashCode());
>> > ...
>> > for (int i = 0; i < deckOfCards.size(); i++) {
>> > _log.debug(deckOfCards.get(i));}
>> > }
>> > private static void getCards (boolean _shuffled) {
>> > short iCount = 0;
>> > for (short suit = 1; suit <= MAX_SUITS_IN_DECK; suit++){
>> > for (short rank = 1; rank <= MAX_RANK_IN_DECK; rank++) {
>> > deckOfCards.add(new Card(suit, rank));
>> > iCount++;
>> > }}
>> > if (_shuffled == true){Collections.shuffle(deckOfCards, new Random());}
>> > }
>> >
>> > private static Card getTopCard() {
>> > Card _cardRemoved = deckOfCards.get(1);
>> > deckOfCards.remove(1);
>> > return _cardRemoved;
>> > }
>> > private static void readIcons(){
>> >      String _filename;
>> >      //read icons
>> >      Image _image = null;
>> >      File _file = null;
>> >      InputStream _is = null;
>> >      for (int i = 1; i < MAX_CARDS_IN_DECK + 1; i++) {
>> >      try {
>> >      /* Security information: filenames should not be altered manually
>> > by an
>> > Administrator, and,
>> >      should be available within the same directory where the source code
>> > runs. */
>> >      if (i < 10) {_filename = "0" + Integer.toString(i);}
>> >      else {_filename = Integer.toString(i);}
>> >      String _temp = _filename;
>> >      _filename = _temp + ".GIF";
>> >      //TODO: Relative path might change when implementing?
>> >      _filename = System.getProperty("user.dir") + "\\img\\" + _filename;
>> >      _file = new File(_filename);
>> >      //read from an input stream
>> >      _is = new BufferedInputStream (new FileInputStream(_filename));
>> >      _image = ImageIO.read(_is);
>> >      if (_file.exists()) {
>> >      CardIcons.add(_image);
>> >      _log.debug(_filename + " loaded.");
>> >      }
>> >      }
>> >      catch (IOException e) { _log.debug(e.getMessage()); }
>> >      }
>> >     }
>> > private static ArrayList<Image> CardIcons = new ArrayList<Image>();
>> > private static ArrayList<Card> deckOfCards = new ArrayList<Card>();
>> > private static final Logger _log = Logger.getLogger(Poker.class);
>> > public static final short MAX_CARDS_IN_DECK = 52;
>> > public static final short MAX_SUITS_IN_DECK = 4;
>> > public static final short MAX_RANK_IN_DECK = 13;
>> > public static final short MAX_PLAYERS_PER_TABLE = 5;
>> > public static final short MAX_GAMES_PER_SESSION = 1; //TODO: implement
>> > concurrent games and UI at a later stage.
>> > /* References
>> > * ----------
>> > * Information about poker at http://en.wikipedia.org/wiki/Poker.
>> > * List of poker hands at http://en.wikipedia.org/wiki/Poker_hands.
>> > * Rules for Texas Hold'Em at
>> > http://en.wikipedia.org/wiki/Texas_hold_'em.
>> >  This will be implemented at a later stage.
>> > * Steve Badger, How to Play Poker at
>> > http://www.playwinningpoker.com/articles/how-to-play-poker.
>> > * Graphics to be implemented at a later stage.
>> > */
>> > }
>> > Player.java
>> > ...
>> > public String toString() {
>> > String _cardsHeld = "";
>> > BasicConfigurator.configure();
>> > //TODO: DEBUG grammatical error i.e. comma separating each card and "."
>> > for
>> > the last card, the last rule is not working as expected.
>> > for (int i = 0; i < CardsHeld.size(); i++) {_cardsHeld +=
>> > CardsHeld.get(i).toString() + " ";}
>> > return (name + " holds the following cards: " + _cardsHeld) ;
>> > }
>> > ...
>> > public int hashCode() {
>> > int _hash = 7;
>> > int _cpCount = this.name.codePointCount(0, name.length());
>> > int _codePointV = 0;
>> > while (_cpCount < this.name.length()) {
>> > _codePointV += this.name.codePointAt(_cpCount);
>> > _cpCount++;
>> > }
>> > _hash = _hash * 31 + _codePointV;
>> > return _hash;
>> > }
>> >
>> > Output
>> > [main] DEBUG poker.Poker  - Player One holds the following cards: TEN of
>> > HEARTS SEVEN of CLUBS .
>> > 172 [main] DEBUG poker.Poker  - Player One holds the following cards:
>> > TEN of
>> > HEARTS SEVEN of CLUBS .
>> > 172 [main] DEBUG poker.Poker  - 217
>> > 172 [main] DEBUG poker.Poker  - 217
>> > 172 [main] DEBUG poker.Poker  - Player Two holds the following cards:
>> > SEVEN
>> > of SPADES TEN of CLUBS .
>> > 172 [main] DEBUG poker.Poker  - Player Two holds the following cards:
>> > SEVEN
>> > of SPADES TEN of CLUBS .
>> > 172 [main] DEBUG poker.Poker  - Player Two holds the following cards:
>> > SEVEN
>> > of SPADES TEN of CLUBS .
>> > 172 [main] DEBUG poker.Poker  - 217
>> > 172 [main] DEBUG poker.Poker  - 217
>> > 172 [main] DEBUG poker.Poker  - 217
>> > Rgds,
>> > Jonathan
>> >
>> > On 24 April 2011 11:05, Christian Grobmeier <grobmeier@gmail.com> wrote:
>> >>
>> >> Hello Jonathan,
>> >>
>> >> this message appears when the log4j.xml|properties file could not be
>> >> found on your classpath.
>> >> Usually it should be at src/main/resources, this folder visible as
>> >> classpath folder on eclipse.
>> >>
>> >> However you can start your app with -Dlog4j.debug=true to spot out at
>> >> which locations your configuration is searched
>> >>
>> >> Your pom.xml is a maven file and should not have any impact on log4j
>> >> (except you need the dependency of course). Same is true for eclipse.
>> >> Only th elocation of your config file is important.
>> >>
>> >> Cheers
>> >>
>> >> On Sat, Apr 23, 2011 at 6:53 PM, Jonathan Camilleri
>> >> <camilleri.jon@gmail.com> wrote:
>> >> > Hi,
>> >> > Any idea why my logger is not logging (see Deck.java).  Error
>> >> > message:
>> >> > log4j:WARN No appenders could be found for logger (poker.Deck).
>> >> > log4j:WARN Please initialize the log4j system properly.
>> >> > log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig
>> >> > for
>> >> > more info.
>> >> > TWO of CLUBS
>> >> > Having, googled the issue, I tried adding pom.xml to the directory
>> >> > where
>> >> > the
>> >> > source code files reside.  I am using Eclipse 3.6.2, which has an
>> >> > intricate
>> >> > way of adding JARs to my project.
>> >> > Any ideas?
>> >> >
>> >> > --
>> >> > Jonathan Camilleri
>> >> >
>> >> > Mobile (MT): 00356 7982 7113
>> >> > E-mail: camilleri.jon@gmail.com
>> >> > Please consider your environmental responsibility before printing
>> >> > this
>> >> > e-mail.
>> >> >
>> >> > I usually reply to e-mails within 2 business days.  If it's urgent,
>> >> > give
>> >> > me
>> >> > a call.
>> >> >
>> >> >
>> >> > ---------------------------------------------------------------------
>> >> > To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
>> >> > For additional commands, e-mail: log4j-user-help@logging.apache.org
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> http://www.grobmeier.de
>> >
>> >
>> >
>> > --
>> > Jonathan Camilleri
>> >
>> > Mobile (MT): 00356 7982 7113
>> > E-mail: camilleri.jon@gmail.com
>> > Please consider your environmental responsibility before printing this
>> > e-mail.
>> >
>> > I usually reply to e-mails within 2 business days.  If it's urgent, give
>> > me
>> > a call.
>> >
>>
>>
>>
>> --
>> http://www.grobmeier.de
>
>
>
> --
> Jonathan Camilleri
>
> Mobile (MT): 00356 7982 7113
> E-mail: camilleri.jon@gmail.com
> Please consider your environmental responsibility before printing this
> e-mail.
>
> I usually reply to e-mails within 2 business days.  If it's urgent, give me
> a call.
>



-- 
http://www.grobmeier.de

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org


Mime
View raw message