Skip to content

Commit 5ec280c

Browse files
committed
modify log codes
1 parent e8f182c commit 5ec280c

20 files changed

Lines changed: 115 additions & 161 deletions

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[submodule "googletest"]
2+
path = googletest
3+
url = https://github.com/google/googletest
4+
[submodule "spdlog"]
5+
path = spdlog
6+
url = https://github.com/gabime/spdlog

CMakeLists.txt

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,48 @@
11
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
2+
3+
ADD_SUBDIRECTORY(googletest)
4+
25
PROJECT(FoolGo)
36

47
SET(CMAKE_CXX_COMPILER c++)
58

69
IF(APPLE)
710
SET(BASE_FLAGS ${BASE_FLAGS} -stdlib=libc++)
811
ENDIF()
9-
SET(GTEST_ROOT /usr/share/gtest-1.7.0)
1012

11-
SET(SRC_DIR src)
12-
SET(TEST_DIR test)
13-
SET(BASE_FLAGS "-std=c++0x -Wno-unused-result -iquote ${SRC_DIR}")
13+
SET(BASE_FLAGS "-std=c++0x -Wno-unused-result -iquote src")
1414
SET(CMAKE_BUILD_TYPE "Release")
1515
SET(CMAKE_CXX_FLAGS_DEBUG "${BASE_FLAGS} -O1 -g")
1616
SET(CMAKE_CXX_FLAGS_RELEASE "${BASE_FLAGS} -O3")
1717
SET(CMAKE_EXE_LINKER_FLAGS["Debug"] "-g")
1818

19-
AUX_SOURCE_DIRECTORY(${SRC_DIR} SRCS)
20-
AUX_SOURCE_DIRECTORY(${SRC_DIR}/board SRCS)
21-
AUX_SOURCE_DIRECTORY(${SRC_DIR}/piece_structure SRCS)
22-
AUX_SOURCE_DIRECTORY(${SRC_DIR}/math SRCS)
23-
AUX_SOURCE_DIRECTORY(${SRC_DIR}/game SRCS)
24-
AUX_SOURCE_DIRECTORY(${SRC_DIR}/player SRCS)
25-
AUX_SOURCE_DIRECTORY(${SRC_DIR}/util SRCS)
19+
INCLUDE_DIRECTORIES(googletest/googletest/include spdlog/include)
20+
21+
AUX_SOURCE_DIRECTORY(src SRCS)
22+
AUX_SOURCE_DIRECTORY(src/board SRCS)
23+
AUX_SOURCE_DIRECTORY(src/piece_structure SRCS)
24+
AUX_SOURCE_DIRECTORY(src/math SRCS)
25+
AUX_SOURCE_DIRECTORY(src/game SRCS)
26+
AUX_SOURCE_DIRECTORY(src/player SRCS)
27+
AUX_SOURCE_DIRECTORY(src/util SRCS)
2628
ADD_EXECUTABLE(foolgo ${SRCS})
27-
SET(LOG4CPLUS_LIB /usr/local/Cellar/log4cplus/1.1.2/lib/liblog4cplus.a)
28-
SET(FOOLGO_LIB ${LOG4CPLUS_LIB})
29+
TARGET_LINK_LIBRARIES(foolgo pthread)
2930
IF (APPLE)
30-
SET(FOOLGO_LIB ${FOOLGO_LIB} c++)
31+
TARGET_LINK_LIBRARIES(foolgo c++)
3132
ENDIF()
32-
TARGET_LINK_LIBRARIES(foolgo ${FOOLGO_LIB})
3333

34-
SET(BOOST_INCLUDE_DIR /usr/local/Cellar/boost/1.56.0/include/)
35-
SET(LOG4CPLUS_INCLUDE_DIR /usr/local/Cellar/log4cplus/1.1.2/include/)
36-
INCLUDE_DIRECTORIES(${GTEST_ROOT} ${GTEST_ROOT}/include ${BOOST_INCLUDE_DIR} ${LOG4CPLUS_INCLUDE_DIR})
3734

3835
# Test configs.
3936
ENABLE_TESTING()
4037

41-
SET(GTEST_MAIN ${GTEST_ROOT}/src/gtest_main.cc)
38+
SET(GTEST_MAIN googletest/googletest/src/gtest_main.cc)
4239
SET(TESTS ${SRCS} ${GTEST_MAIN})
43-
AUX_SOURCE_DIRECTORY(${TEST_DIR} TESTS)
44-
AUX_SOURCE_DIRECTORY(${TEST_DIR}/board TESTS)
45-
AUX_SOURCE_DIRECTORY(${TEST_DIR}/game TESTS)
46-
LIST(REMOVE_ITEM TESTS ${SRC_DIR}/foolishgo.cc)
40+
AUX_SOURCE_DIRECTORY(test TESTS)
41+
AUX_SOURCE_DIRECTORY(test/board TESTS)
42+
AUX_SOURCE_DIRECTORY(test/game TESTS)
43+
LIST(REMOVE_ITEM TESTS src/foolishgo.cc)
4744
ADD_EXECUTABLE(tests ${TESTS})
48-
SET(TEST_LIB ${GTEST_ROOT}/libgtest.a ${GTEST_ROOT}/libgtest_main.a pthread)
45+
SET(TEST_LIB gtest gtest_main pthread)
4946
IF (APPLE)
5047
SET(TEST_LIB ${TEST_LIB} c++)
5148
ENDIF()

cmake_for_eclipse.sh

Lines changed: 0 additions & 6 deletions
This file was deleted.

googletest

Submodule googletest added at ba96d0b

log4cplus.properties

Lines changed: 0 additions & 21 deletions
This file was deleted.

spdlog

Submodule spdlog added at c639483

src/board/board.h

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
#ifndef FOOLGO_SRC_BOARD_BOARD_H_
22
#define FOOLGO_SRC_BOARD_BOARD_H_
33

4-
#include <log4cplus/logger.h>
5-
#include <log4cplus/loggingmacros.h>
4+
#include <spdlog/spdlog.h>
65
#include <boost/format.hpp>
76
#include <functional>
87
#include <cassert>
@@ -23,7 +22,6 @@ class Board {
2322
public:
2423
Board() = default;
2524
virtual ~Board() {}
26-
DISALLOW_COPY_AND_ASSIGN_AND_MOVE(Board)
2725
virtual void Init();
2826
virtual void Copy(const Board<BOARD_LEN> &b);
2927

@@ -38,8 +36,6 @@ class Board {
3836

3937
namespace {
4038

41-
log4cplus::Logger board_logger = log4cplus::Logger::getInstance("foolgo.board");
42-
4339
const char BLANK = ' ';
4440
const char RETURN = '\n';
4541

@@ -110,10 +106,9 @@ std::string ToString(std::function<std::string(PositionIndex)> get_output,
110106

111107
template<BoardLen BOARD_LEN>
112108
std::string ToString(const Board<BOARD_LEN> &board) {
113-
auto get_output = [&board](PositionIndex position_index) {
114-
LOG4CPLUS_DEBUG(board_logger, "board address:" << &board <<
115-
" position_index:" << position_index << " state:" <<
116-
static_cast<int>(board.GetPoint(position_index)));
109+
auto get_output = [&](PositionIndex position_index) {
110+
// logger->debug("board address:{} position_index:{} state:{}", &board,
111+
// position_index, static_cast<int>(board.GetPoint(position_index)));
117112
return GetPointStateOutput(board.GetPoint(position_index), false);
118113
};
119114
return ToString<BOARD_LEN>(get_output);

src/board/full_board.h

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
#include <cstddef>
99
#include <ostream>
1010
#include <vector>
11-
#include <log4cplus/logger.h>
12-
#include <log4cplus/loggingmacros.h>
11+
#include <spdlog/spdlog.h>
1312

1413
#include "../def.h"
1514
#include "../math/bitset_util.h"
@@ -62,6 +61,7 @@ class FullBoard : private Board<BOARD_LEN> {
6261
black_pieces_count_(0),
6362
hash_key_(0) {}
6463
~FullBoard() = default;
64+
DISALLOW_COPY_AND_ASSIGN(FullBoard);
6565
void Init();
6666
void Copy(const FullBoard &b);
6767

@@ -101,7 +101,7 @@ class FullBoard : private Board<BOARD_LEN> {
101101
private:
102102
typedef std::vector<PositionIndex> PointIndxVector;
103103

104-
static log4cplus::Logger logger_;
104+
static std::shared_ptr<spdlog::logger> logger_;
105105

106106
piece_structure::ChainSet<BOARD_LEN> chain_sets_[2];
107107
std::array<BitSet<BOARD_LEN>, 2> playable_states_array_;
@@ -145,8 +145,6 @@ class FullBoard : private Board<BOARD_LEN> {
145145

146146
std::string PlayableStatesToString() const;
147147
std::string EyeStatesToString() const;
148-
149-
DISALLOW_COPY_AND_ASSIGN_AND_MOVE(FullBoard)
150148
};
151149

152150
template<BoardLen BOARD_LEN>
@@ -165,8 +163,8 @@ void Play(FullBoard<BOARD_LEN> *full_board, PositionIndex position_index) {
165163
}
166164

167165
template<BoardLen BOARD_LEN>
168-
log4cplus::Logger FullBoard<BOARD_LEN>::logger_ =
169-
log4cplus::Logger::getInstance("foolgo.board.FullBoard");
166+
std::shared_ptr<spdlog::logger> FullBoard<BOARD_LEN>::logger_ =
167+
spdlog::stdout_logger_st("foolgo.board.FullBoard");
170168

171169
template<BoardLen BOARD_LEN>
172170
bool FullBoard<BOARD_LEN>::IsEnd() const {
@@ -288,8 +286,8 @@ void FullBoard<BOARD_LEN>::PlayMove(const Move &move) {
288286
ForceAndPositionIndex(move_force, adjacent_index));
289287
}
290288

291-
LOG4CPLUS_DEBUG(logger_, "after modify adjacent eyes state - *this:" <<
292-
ToString(false));
289+
logger_->debug("after modify adjacent eyes state - *this:{}",
290+
ToString(false));
293291

294292
// Modify adjacent real eyes state.
295293
for (int i = 0; i < 4; ++i) {
@@ -311,8 +309,8 @@ void FullBoard<BOARD_LEN>::PlayMove(const Move &move) {
311309
// }
312310
}
313311

314-
LOG4CPLUS_DEBUG(logger_, "after modify adjacent real eyes state - *this:" <<
315-
ToString(false));
312+
logger_->debug("after modify adjacent real eyes state - *this:{}",
313+
ToString(false));
316314

317315
// Modify Oblique real eyes state.
318316
for (int i = 0; i < 4; ++i) {
@@ -332,17 +330,17 @@ void FullBoard<BOARD_LEN>::PlayMove(const Move &move) {
332330
}
333331
}
334332

335-
LOG4CPLUS_DEBUG(logger_, "after modify oblique real eyes state - *this:" <<
336-
ToString(false));
333+
logger_->debug("after modify oblique real eyes state - *this:{}",
334+
ToString(false));
337335

338336
// The playable state of adjacent positions of the chains, which is adjacent
339337
// to ate pieces, should be modified.
340338
for (int i = 0; i < 4; ++i) {
341339
ModifyAtePiecesAdjacentChains(ate_piece_indexes_array[i], opposite_force);
342340
}
343341

344-
LOG4CPLUS_DEBUG(logger_, "after modify ate pieces adjacent chains - *this:"
345-
<< ToString(false));
342+
logger_->debug("after modify ate pieces adjacent chains - *this:",
343+
ToString(false));
346344

347345
ko_indx_ = FullBoard<BOARD_LEN>::NONE;
348346
PositionIndex single_ate_piece_index = FullBoard<BOARD_LEN>::NONE;
@@ -529,7 +527,7 @@ void FullBoard<BOARD_LEN>::PlayBasicMove(
529527
chain_sets_[move_force].AddPiece(move_index, air_set);
530528

531529
if (chain_sets_[move_force].GetAirCount(move_index) == 0) {
532-
LOG4CPLUS_DEBUG(logger_, "air count is zero!");
530+
logger_->debug("air count is zero!");
533531
*suicided_pieces_indexes = RemoveChain(move);
534532
}
535533
}
@@ -628,15 +626,15 @@ void FullBoard<BOARD_LEN>::ModifyRealEyesState(
628626
}
629627
}
630628

631-
LOG4CPLUS_DEBUG(logger_, "piece_or_eye_count:" << piece_or_eye_count);
629+
logger_->debug("piece_or_eye_count:{}", piece_or_eye_count);
632630

633631
static const PositionIndex TABLE[3] = { 3, 2, 1 };
634632
auto state = calculator.CentralOrEdgeOrCorner(position);
635633
if (TABLE[state] <= piece_or_eye_count) {
636-
LOG4CPLUS_DEBUG(logger_, "is real eye");
634+
logger_->debug("is real eye");
637635
SetRealEyeAsTrue(ForceAndPositionIndex(force, indx));
638636
} else {
639-
LOG4CPLUS_DEBUG(logger_, "is not real eye");
637+
logger_->debug("is not real eye");
640638
playable_states_array_[force].set(indx);
641639
playable_states_array_[OppositeForce(force)].set(indx);
642640
}

src/foolishgo.cc

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
#include <log4cplus/logger.h>
2-
#include <log4cplus/loggingmacros.h>
31
#include <cstdint>
42
#include <iostream>
53

4+
#include "spdlog/spdlog.h"
65
#include "board/zob_hasher.h"
76
#include "def.h"
87
#include "game/fresh_game.h"
@@ -17,21 +16,18 @@ using foolgo::game::FreshGame;
1716
using foolgo::math::GetTimeSeed;
1817
using foolgo::util::InitLogConfig;
1918
using foolgo::MAIN_BOARD_LEN;
20-
using log4cplus::Logger;
2119

2220
int main(int argc, const char *argv[]) {
23-
InitLogConfig();
24-
25-
Logger logger = Logger::getRoot();
21+
auto logger = spdlog::stdout_logger_st("root");
2622

2723
uint32_t seed = GetTimeSeed();
2824
// uint32_t seed = 2479583645;
29-
LOG4CPLUS_INFO(logger, "seed:" << seed);
25+
logger->info("seed:{}", seed);
3026

3127
ZobHasher<MAIN_BOARD_LEN>::Init(seed);
3228

3329
Game<MAIN_BOARD_LEN>* game =
34-
FreshGame<MAIN_BOARD_LEN>::BuildHumanVsAiGame(false, seed, 40000, 3);
30+
FreshGame<MAIN_BOARD_LEN>::BuildHumanVsAiGame(true, seed, 1000, 1);
3531
game->Run();
3632

3733
delete game;

src/game/fresh_game.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef FOOLGO_SRC_GAME_FRESH_GAME_H_
22
#define FOOLGO_SRC_GAME_FRESH_GAME_H_
33

4-
#include <log4cplus/logger.h>
4+
#include <spdlog/spdlog.h>
55
#include <cstdint>
66

77
#include "../board/position.h"
@@ -31,21 +31,21 @@ class FreshGame : public Game<BOARD_LEN> {
3131
int thread_couunt,
3232
bool only_log_board);
3333
~FreshGame() = default;
34-
const log4cplus::Logger &GetLogger() const {
35-
return logger_;
34+
spdlog::logger &GetLogger() const {
35+
return *logger_;
3636
}
3737
protected:
3838
using Game<BOARD_LEN>::Game;
3939

4040
private:
41-
static log4cplus::Logger logger_;
41+
static std::shared_ptr<spdlog::logger> logger_;
4242

4343
DISALLOW_COPY_AND_ASSIGN_AND_MOVE(FreshGame)
4444
};
4545

4646
template<board::BoardLen BOARD_LEN>
47-
log4cplus::Logger FreshGame<BOARD_LEN>::logger_ =
48-
log4cplus::Logger::getInstance("foolgo.game.FreshGame");
47+
std::shared_ptr<spdlog::logger> FreshGame<BOARD_LEN>::logger_ =
48+
spdlog::stdout_logger_st("foolgo.game.FreshGame");
4949

5050
template<board::BoardLen BOARD_LEN>
5151
FreshGame<BOARD_LEN>* FreshGame<BOARD_LEN>::BuildHumanVsAiGame(

0 commit comments

Comments
 (0)