Changeset 283469 in webkit
- Timestamp:
- Oct 3, 2021, 10:19:59 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
-
ChangeLog (modified) (1 diff)
-
Source/WTF/ChangeLog (modified) (1 diff)
-
Source/WTF/wtf/Assertions.cpp (modified) (3 diffs)
-
Source/WTF/wtf/Assertions.h (modified) (8 diffs)
-
Source/WTF/wtf/Logger.h (modified) (3 diffs)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/platform/sql/SQLiteDatabase.cpp (modified) (5 diffs)
-
Source/cmake/WebKitFeatures.cmake (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r283436 r283469 1 2021-10-03 Basuke Suzuki <basuke.suzuki@sony.com> 2 3 Enable release log to stderr 4 https://bugs.webkit.org/show_bug.cgi?id=230725 5 <rdar://problem/83740529> 6 7 Reviewed by Michael Catanzaro. 8 9 Introduced new flags, USE_LOG_STDERR for release logging to stderr. 10 11 * Source/cmake/WebKitFeatures.cmake: 12 1 13 2021-10-02 Philippe Normand <pnormand@igalia.com> 2 14 -
trunk/Source/WTF/ChangeLog
r283437 r283469 1 2021-10-03 Basuke Suzuki <basuke.suzuki@sony.com> 2 3 Enable release log to stderr 4 https://bugs.webkit.org/show_bug.cgi?id=230725 5 <rdar://problem/83740529> 6 7 Reviewed by Michael Catanzaro. 8 9 Define new compiler definitions, USE_LOG_STDERR for release logging. We don't have 10 modern logging backend so that dumping out to stdout/stderr is still very valuable. 11 12 * wtf/Assertions.cpp: 13 * wtf/Assertions.h: 14 * wtf/Logger.h: 15 (WTF::Logger::log): 16 (WTF::Logger::logVerbose): 17 1 18 2021-10-02 Philippe Normand <pnormand@igalia.com> 2 19 -
trunk/Source/WTF/wtf/Assertions.cpp
r278474 r283469 60 60 #endif 61 61 62 #if USE(JOURNALD)62 #if !RELEASE_LOG_DISABLED && !USE(OS_LOG) 63 63 #include <wtf/StringPrintStream.h> 64 64 #endif … … 602 602 else 603 603 os_log(channel->osLogChannel, "%-3d %p", frameNumber, stackFrame); 604 #el if USE(JOURNALD)604 #else 605 605 StringPrintStream out; 606 606 if (demangled && demangled->demangledName()) … … 610 610 else 611 611 out.printf("%-3d %p", frameNumber, stackFrame); 612 #if USE(JOURNALD) 612 613 sd_journal_send("WEBKIT_SUBSYSTEM=%s", channel->subsystem, "WEBKIT_CHANNEL=%s", channel->name, "MESSAGE=%s", out.toCString().data(), nullptr); 614 #else 615 fprintf(stderr, "[%s:%s:-] %s\n", channel->subsystem, channel->name, out.toCString().data()); 616 #endif 613 617 #endif 614 618 } -
trunk/Source/WTF/wtf/Assertions.h
r280795 r283469 96 96 #endif 97 97 98 #ifndef RELEASE_LOG_DISABLED 98 #if ENABLE(RELEASE_LOG) 99 #define RELEASE_LOG_DISABLED 0 100 #else 99 101 #define RELEASE_LOG_DISABLED !(USE(OS_LOG) || USE(JOURNALD)) 100 102 #endif … … 164 166 #if !RELEASE_LOG_DISABLED 165 167 const char* subsystem; 166 #endif 167 #if USE(OS_LOG) && !RELEASE_LOG_DISABLED 168 #if USE(OS_LOG) 168 169 __unsafe_unretained os_log_t osLogChannel; 170 #endif 169 171 #endif 170 172 } WTFLogChannel; … … 179 181 #elif PLATFORM(WPE) 180 182 #define LOG_CHANNEL_WEBKIT_SUBSYSTEM "WPEWebKit" 183 #elif PLATFORM(PLAYSTATION) 184 #define LOG_CHANNEL_WEBKIT_SUBSYSTEM "SceNKWebKit" 181 185 #else 182 186 #define LOG_CHANNEL_WEBKIT_SUBSYSTEM "com.apple.WebKit" … … 190 194 #define DEFINE_LOG_CHANNEL_WITH_DETAILS(name, initialState, level, subsystem) \ 191 195 WTFLogChannel LOG_CHANNEL(name) = { initialState, #name, level }; 192 #endif 193 #if USE(OS_LOG) && !RELEASE_LOG_DISABLED 196 #elif USE(OS_LOG) 194 197 #define DEFINE_LOG_CHANNEL_WITH_DETAILS(name, initialState, level, subsystem) \ 195 198 WTFLogChannel LOG_CHANNEL(name) = { initialState, #name, level, subsystem, OS_LOG_DEFAULT }; 196 #endif 197 #if USE(JOURNALD) && !RELEASE_LOG_DISABLED 199 #else 198 200 #define DEFINE_LOG_CHANNEL_WITH_DETAILS(name, initialState, level, subsystem) \ 199 201 WTFLogChannel LOG_CHANNEL(name) = { initialState, #name, level, subsystem }; … … 529 531 530 532 #if RELEASE_LOG_DISABLED 533 531 534 #define PUBLIC_LOG_STRING "s" 532 535 #define PRIVATE_LOG_STRING "s" … … 544 547 545 548 #define RELEASE_LOG_STACKTRACE(channel) ((void)0) 546 #endif 547 548 #if USE(OS_LOG) && !RELEASE_LOG_DISABLED 549 550 #elif USE(OS_LOG) 551 549 552 #define PUBLIC_LOG_STRING "{public}s" 550 553 #define PRIVATE_LOG_STRING "{private}s" … … 562 565 os_log(LOG_CHANNEL(channel).osLogChannel, __VA_ARGS__); \ 563 566 } while (0) 564 #endif 565 566 #if USE(JOURNALD) && !RELEASE_LOG_DISABLED 567 568 #elif USE(JOURNALD) 569 567 570 #define PUBLIC_LOG_STRING "s" 568 571 #define PRIVATE_LOG_STRING "s" … … 588 591 SD_JOURNAL_SEND(channel, LOG_INFO, __FILE__, _STRINGIFY(__LINE__), __func__, __VA_ARGS__); \ 589 592 } while (0) 593 594 #else 595 596 #define PUBLIC_LOG_STRING "s" 597 #define PRIVATE_LOG_STRING "s" 598 #define LOGF(channel, priority, fmt, ...) do { \ 599 auto& logChannel = LOG_CHANNEL(channel); \ 600 if (logChannel.state != WTFLogChannelState::Off) \ 601 fprintf(stderr, "[%s:%s:%i] " fmt "\n", logChannel.subsystem, logChannel.name, priority, ##__VA_ARGS__); \ 602 } while (0) 603 604 #define RELEASE_LOG(channel, ...) LOGF(channel, 4, __VA_ARGS__) 605 #define RELEASE_LOG_ERROR(channel, ...) LOGF(channel, 1, __VA_ARGS__) 606 #define RELEASE_LOG_FAULT(channel, ...) LOGF(channel, 2, __VA_ARGS__) 607 #define RELEASE_LOG_INFO(channel, ...) LOGF(channel, 3, __VA_ARGS__) 608 609 #define RELEASE_LOG_WITH_LEVEL(channel, logLevel, ...) do { \ 610 if (LOG_CHANNEL(channel).level >= (logLevel)) \ 611 LOGF(channel, logLevel, __VA_ARGS__); \ 612 } while (0) 613 614 #define RELEASE_LOG_WITH_LEVEL_IF(isAllowed, channel, logLevel, ...) do { \ 615 if ((isAllowed) && LOG_CHANNEL(channel).level >= (logLevel)) \ 616 LOGF(channel, logLevel, __VA_ARGS__); \ 617 } while (0) 618 590 619 #endif 591 620 -
trunk/Source/WTF/wtf/Logger.h
r277967 r283469 26 26 #pragma once 27 27 28 #include <wtf/Assertions.h> 28 29 #include <wtf/Lock.h> 29 30 #include <wtf/ThreadSafeRefCounted.h> … … 312 313 #if RELEASE_LOG_DISABLED 313 314 WTFLog(&channel, "%s", logMessage.utf8().data()); 314 #endif 315 #if USE(OS_LOG) && !RELEASE_LOG_DISABLED 315 #elif USE(OS_LOG) 316 316 os_log(channel.osLogChannel, "%{public}s", logMessage.utf8().data()); 317 #endif 318 #if USE(JOURNALD) && !RELEASE_LOG_DISABLED 317 #elif USE(JOURNALD) 319 318 sd_journal_send("WEBKIT_SUBSYSTEM=%s", channel.subsystem, "WEBKIT_CHANNEL=%s", channel.name, "MESSAGE=%s", logMessage.utf8().data(), nullptr); 319 #else 320 fprintf(stderr, "[%s:%s:-] %s\n", channel.subsystem, channel.name, logMessage.utf8().data()); 320 321 #endif 321 322 … … 338 339 #if RELEASE_LOG_DISABLED 339 340 WTFLogVerbose(file, line, function, &channel, "%s", logMessage.utf8().data()); 340 #endif 341 #if USE(OS_LOG) && !RELEASE_LOG_DISABLED 341 #elif USE(OS_LOG) 342 342 os_log(channel.osLogChannel, "%{public}s", logMessage.utf8().data()); 343 343 UNUSED_PARAM(file); 344 344 UNUSED_PARAM(line); 345 345 UNUSED_PARAM(function); 346 #endif 347 #if USE(JOURNALD) && !RELEASE_LOG_DISABLED 346 #elif USE(JOURNALD) 348 347 auto fileString = makeString("CODE_FILE=", file); 349 348 auto lineString = makeString("CODE_LINE=", line); 350 349 sd_journal_send_with_location(fileString.utf8().data(), lineString.utf8().data(), function, "WEBKIT_SUBSYSTEM=%s", channel.subsystem, "WEBKIT_CHANNEL=%s", channel.name, "MESSAGE=%s", logMessage.utf8().data(), nullptr); 350 #else 351 fprintf(stderr, "[%s:%s:-] %s FILE=%s:%d %s\n", channel.subsystem, channel.name, logMessage.utf8().data(), file, line, function); 351 352 #endif 352 353 -
trunk/Source/WebCore/ChangeLog
r283465 r283469 1 2021-10-03 Basuke Suzuki <basuke.suzuki@sony.com> 2 3 Enable release log to stderr 4 https://bugs.webkit.org/show_bug.cgi?id=230725 5 <rdar://problem/83740529> 6 7 Reviewed by Michael Catanzaro. 8 9 SQLiteDatabase uses hard-coded %{public} format specifiers. Replace them with defined 10 macro. 11 12 No new tests because there is no behavior change. 13 14 * platform/sql/SQLiteDatabase.cpp: 15 (WebCore::SQLiteDatabase::close): 16 (WebCore::SQLiteDatabase::prepareStatementSlow): 17 (WebCore::SQLiteDatabase::prepareStatement): 18 (WebCore::SQLiteDatabase::prepareHeapStatementSlow): 19 (WebCore::SQLiteDatabase::prepareHeapStatement): 20 1 21 2021-10-03 Simon Fraser <simon.fraser@apple.com> 2 22 -
trunk/Source/WebCore/platform/sql/SQLiteDatabase.cpp
r282030 r283469 262 262 263 263 if (closeResult != SQLITE_OK) 264 RELEASE_LOG_ERROR(SQLDatabase, "SQLiteDatabase::close: Failed to close database (%d) - % {public}s", closeResult, lastErrorMsg());264 RELEASE_LOG_ERROR(SQLDatabase, "SQLiteDatabase::close: Failed to close database (%d) - %" PUBLIC_LOG_STRING, closeResult, lastErrorMsg()); 265 265 } 266 266 … … 718 718 auto sqlStatement = constructAndPrepareStatement(*this, query.data(), query.length()); 719 719 if (!sqlStatement) { 720 RELEASE_LOG_ERROR(SQLDatabase, "SQLiteDatabase::prepareStatement: Failed to prepare statement % {public}s", query.data());720 RELEASE_LOG_ERROR(SQLDatabase, "SQLiteDatabase::prepareStatement: Failed to prepare statement %" PUBLIC_LOG_STRING, query.data()); 721 721 return makeUnexpected(sqlStatement.error()); 722 722 } … … 728 728 auto sqlStatement = constructAndPrepareStatement(*this, query.characters(), query.length()); 729 729 if (!sqlStatement) { 730 RELEASE_LOG_ERROR(SQLDatabase, "SQLiteDatabase::prepareStatement: Failed to prepare statement % {public}s", query.characters());730 RELEASE_LOG_ERROR(SQLDatabase, "SQLiteDatabase::prepareStatement: Failed to prepare statement %" PUBLIC_LOG_STRING, query.characters()); 731 731 return makeUnexpected(sqlStatement.error()); 732 732 } … … 739 739 auto sqlStatement = constructAndPrepareStatement(*this, query.data(), query.length()); 740 740 if (!sqlStatement) { 741 RELEASE_LOG_ERROR(SQLDatabase, "SQLiteDatabase::prepareHeapStatement: Failed to prepare statement % {public}s", query.data());741 RELEASE_LOG_ERROR(SQLDatabase, "SQLiteDatabase::prepareHeapStatement: Failed to prepare statement %" PUBLIC_LOG_STRING, query.data()); 742 742 return makeUnexpected(sqlStatement.error()); 743 743 } … … 749 749 auto sqlStatement = constructAndPrepareStatement(*this, query.characters(), query.length()); 750 750 if (!sqlStatement) { 751 RELEASE_LOG_ERROR(SQLDatabase, "SQLiteDatabase::prepareHeapStatement: Failed to prepare statement % {public}s", query.characters());751 RELEASE_LOG_ERROR(SQLDatabase, "SQLiteDatabase::prepareHeapStatement: Failed to prepare statement %" PUBLIC_LOG_STRING, query.characters()); 752 752 return makeUnexpected(sqlStatement.error()); 753 753 } -
trunk/Source/cmake/WebKitFeatures.cmake
r282628 r283469 196 196 WEBKIT_OPTION_DEFINE(ENABLE_POINTER_LOCK "Toggle pointer lock support" PRIVATE OFF) 197 197 WEBKIT_OPTION_DEFINE(ENABLE_PUBLIC_SUFFIX_LIST "Toggle public suffix list support" PRIVATE ON) 198 WEBKIT_OPTION_DEFINE(ENABLE_RELEASE_LOG "Toggle release log support" PRIVATE OFF) 198 199 WEBKIT_OPTION_DEFINE(ENABLE_REMOTE_INSPECTOR "Toggle remote inspector support" PRIVATE ON) 199 200 WEBKIT_OPTION_DEFINE(ENABLE_RESOURCE_USAGE "Toggle resource usage support" PRIVATE OFF)
Note:
See TracChangeset
for help on using the changeset viewer.