Refactor logging to use logf function and update log file name

This commit is contained in:
scawful
2024-12-31 16:54:44 -05:00
parent 50e4117230
commit 0e67413d55
3 changed files with 28 additions and 63 deletions

View File

@@ -196,7 +196,7 @@ class NotifyValue {
};
static bool log_to_console = false;
static std::string log_file_out = "log.txt";
constexpr std::string kLogFileOut = "yaze_log.txt";
template <typename... Args>
static void logf(const absl::FormatSpec<Args...> &format, const Args &...args) {
@@ -204,38 +204,10 @@ static void logf(const absl::FormatSpec<Args...> &format, const Args &...args) {
if (log_to_console) {
std::cout << message << std::endl;
}
static std::ofstream fout(log_file_out, std::ios::out | std::ios::app);
static std::ofstream fout(kLogFileOut, std::ios::out | std::ios::app);
fout << message << std::endl;
}
struct StructuredLog {
std::string raw_message;
std::string category;
};
static absl::flat_hash_map<std::string, std::vector<std::string>>
log_categories;
template <typename... Args>
static void logm(const std::string &category,
const absl::FormatSpec<Args...> &format, const Args &...args) {
std::string message = absl::StrFormat(format, args...);
std::cout << category << ": " << message << std::endl;
if (log_categories.contains(category)) {
log_categories[category].push_back(message);
} else {
log_categories[category] = {message};
}
}
class Logger {
public:
static void log(std::string message) {
static std::ofstream fout(log_file_out, std::ios::out | std::ios::app);
fout << message << std::endl;
}
};
constexpr uint32_t kFastRomRegion = 0x808000;
inline uint32_t SnesToPc(uint32_t addr) noexcept {

View File

@@ -328,9 +328,7 @@ class Rom : public core::ExperimentFlags {
value, addr));
}
rom_data_[addr] = value;
std::string log_str = absl::StrFormat("WriteByte: %#06X: %s", addr,
core::HexByte(value).data());
core::Logger::log(log_str);
core::logf("WriteByte: %#06X: %s", addr, core::HexByte(value).data());
return absl::OkStatus();
}
@@ -343,8 +341,7 @@ class Rom : public core::ExperimentFlags {
}
rom_data_[addr] = (uint8_t)(value & 0xFF);
rom_data_[addr + 1] = (uint8_t)((value >> 8) & 0xFF);
core::Logger::log(absl::StrFormat("WriteWord: %#06X: %s", addr,
core::HexWord(value)));
core::logf("WriteWord: %#06X: %s", addr, core::HexWord(value).data());
return absl::OkStatus();
}
@@ -357,8 +354,7 @@ class Rom : public core::ExperimentFlags {
}
rom_data_[addr] = (uint8_t)(value & 0xFF);
rom_data_[addr + 1] = (uint8_t)((value >> 8) & 0xFF);
core::Logger::log(absl::StrFormat("WriteShort: %#06X: %s", addr,
core::HexWord(value)));
core::logf("WriteShort: %#06X: %s", addr, core::HexWord(value).data());
return absl::OkStatus();
}
@@ -372,8 +368,7 @@ class Rom : public core::ExperimentFlags {
rom_data_[addr] = (uint8_t)(value & 0xFF);
rom_data_[addr + 1] = (uint8_t)((value >> 8) & 0xFF);
rom_data_[addr + 2] = (uint8_t)((value >> 16) & 0xFF);
core::Logger::log(absl::StrFormat("WriteLong: %#06X: %s", addr,
core::HexLong(value)));
core::logf("WriteLong: %#06X: %s", addr, core::HexLong(value).data());
return absl::OkStatus();
}
@@ -387,8 +382,7 @@ class Rom : public core::ExperimentFlags {
for (int i = 0; i < static_cast<int>(data.size()); i++) {
rom_data_[addr + i] = data[i];
}
core::Logger::log(absl::StrFormat("WriteVector: %#06X: %s", addr,
core::HexByte(data[0])));
core::logf("WriteVector: %#06X: %s", addr, core::HexByte(data[0]).data());
return absl::OkStatus();
}
@@ -397,8 +391,7 @@ class Rom : public core::ExperimentFlags {
((color.snes() & 0x1F) << 10) | (color.snes() & 0x7C00);
// Write the 16-bit color value to the ROM at the specified address
core::Logger::log(absl::StrFormat("WriteColor: %#06X: %s", address,
core::HexWord(bgr)));
core::logf("WriteColor: %#06X: %s", address, core::HexWord(bgr).data());
return WriteShort(address, bgr);
}

View File

@@ -520,7 +520,7 @@ absl::Status Overworld::Save(Rom &rom) {
}
absl::Status Overworld::SaveOverworldMaps() {
core::Logger::log("Saving Overworld Maps");
core::logf("Saving Overworld Maps");
// Initialize map pointers
std::fill(map_pointers1_id.begin(), map_pointers1_id.end(), -1);
@@ -571,8 +571,8 @@ absl::Status Overworld::SaveOverworldMaps() {
}
if ((pos + size_a) >= 0x6411F && (pos + size_a) <= 0x70000) {
core::Logger::log("Pos set to overflow region for map " +
std::to_string(i) + " at " + core::HexLong(pos));
core::logf("Pos set to overflow region for map %s at %s",
std::to_string(i), core::HexLong(pos));
pos = OverworldMapDataOverflow; // 0x0F8780;
}
@@ -608,8 +608,8 @@ absl::Status Overworld::SaveOverworldMaps() {
std::copy(a.begin(), a.end(), map_data_p1[i].begin());
int snes_pos = core::PcToSnes(pos);
map_pointers1[i] = snes_pos;
core::Logger::log("Saving map pointers1 and compressed data for map " +
core::HexByte(i) + " at " + core::HexLong(snes_pos));
core::logf("Saving map pointers1 and compressed data for map %s at %s",
core::HexByte(i), core::HexLong(snes_pos));
RETURN_IF_ERROR(rom()->WriteLong(
rom()->version_constants().kCompressedAllMap32PointersLow + (3 * i),
snes_pos));
@@ -618,8 +618,8 @@ absl::Status Overworld::SaveOverworldMaps() {
} else {
// Save pointer for map1
int snes_pos = map_pointers1[map_pointers1_id[i]];
core::Logger::log("Saving map pointers1 for map " + core::HexByte(i) +
" at " + core::HexLong(snes_pos));
core::logf("Saving map pointers1 for map %s at %s", core::HexByte(i),
core::HexLong(snes_pos));
RETURN_IF_ERROR(rom()->WriteLong(
rom()->version_constants().kCompressedAllMap32PointersLow + (3 * i),
snes_pos));
@@ -630,8 +630,8 @@ absl::Status Overworld::SaveOverworldMaps() {
}
if ((pos + b.size()) >= 0x6411F && (pos + b.size()) <= 0x70000) {
core::Logger::log("Pos set to overflow region for map " +
core::HexByte(i) + " at " + core::HexLong(pos));
core::logf("Pos set to overflow region for map %s at %s",
core::HexByte(i), core::HexLong(pos));
pos = OverworldMapDataOverflow;
}
@@ -640,8 +640,8 @@ absl::Status Overworld::SaveOverworldMaps() {
std::copy(b.begin(), b.end(), map_data_p2[i].begin());
int snes_pos = core::PcToSnes(pos);
map_pointers2[i] = snes_pos;
core::Logger::log("Saving map pointers2 and compressed data for map " +
core::HexByte(i) + " at " + core::HexLong(snes_pos));
core::logf("Saving map pointers2 and compressed data for map %s at %s",
core::HexByte(i), core::HexLong(snes_pos));
RETURN_IF_ERROR(rom()->WriteLong(
rom()->version_constants().kCompressedAllMap32PointersHigh + (3 * i),
snes_pos));
@@ -650,8 +650,8 @@ absl::Status Overworld::SaveOverworldMaps() {
} else {
// Save pointer for map2
int snes_pos = map_pointers2[map_pointers2_id[i]];
core::Logger::log("Saving map pointers2 for map " + core::HexByte(i) +
" at " + core::HexLong(snes_pos));
core::logf("Saving map pointers2 for map %s at %s", core::HexByte(i),
core::HexLong(snes_pos));
RETURN_IF_ERROR(rom()->WriteLong(
rom()->version_constants().kCompressedAllMap32PointersHigh + (3 * i),
snes_pos));
@@ -660,7 +660,7 @@ absl::Status Overworld::SaveOverworldMaps() {
// Check if too many maps data
if (pos > 0x137FFF) {
std::cerr << "Too many maps data " << std::hex << pos << std::endl;
core::logf("Too many maps data %s", core::HexLong(pos));
return absl::AbortedError("Too many maps data " + std::to_string(pos));
}
@@ -671,7 +671,7 @@ absl::Status Overworld::SaveOverworldMaps() {
}
absl::Status Overworld::SaveLargeMaps() {
core::Logger::log("Saving Large Maps");
core::logf("Saving Large Maps");
std::vector<uint8_t> checked_map;
for (int i = 0; i < 0x40; i++) {
@@ -1141,7 +1141,7 @@ absl::Status Overworld::SaveMap32Expanded() {
}
absl::Status Overworld::SaveMap32Tiles() {
core::Logger::log("Saving Map32 Tiles");
core::logf("Saving Map32 Tiles");
constexpr int kMaxUniqueTiles = 0x4540;
constexpr int kTilesPer32x32Tile = 6;
@@ -1348,7 +1348,7 @@ absl::Status Overworld::SaveMap16Expanded() {
}
absl::Status Overworld::SaveMap16Tiles() {
core::Logger::log("Saving Map16 Tiles");
core::logf("Saving Map16 Tiles");
int tpos = kMap16Tiles;
// 3760
for (int i = 0; i < NumberOfMap16; i += 1) {
@@ -1369,7 +1369,7 @@ absl::Status Overworld::SaveMap16Tiles() {
}
absl::Status Overworld::SaveEntrances() {
core::Logger::log("Saving Entrances");
core::logf("Saving Entrances");
for (int i = 0; i < 129; i++) {
RETURN_IF_ERROR(
rom()->WriteShort(OWEntranceMap + (i * 2), all_entrances_[i].map_id_))
@@ -1392,7 +1392,7 @@ absl::Status Overworld::SaveEntrances() {
}
absl::Status Overworld::SaveExits() {
core::Logger::log("Saving Exits");
core::logf("Saving Exits");
for (int i = 0; i < 0x4F; i++) {
RETURN_IF_ERROR(
rom()->WriteShort(OWExitRoomId + (i * 2), all_exits_[i].room_id_));
@@ -1537,7 +1537,7 @@ absl::Status Overworld::SaveItems() {
}
absl::Status Overworld::SaveMapProperties() {
core::Logger::log("Saving Map Properties");
core::logf("Saving Map Properties");
for (int i = 0; i < 64; i++) {
RETURN_IF_ERROR(rom()->WriteByte(kAreaGfxIdPtr + i,
overworld_maps_[i].area_graphics()));