summaryrefslogtreecommitdiffstats
path: root/video_in_hal/systemservice/logger_service/server/src/ss_logger_error_event_responses.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'video_in_hal/systemservice/logger_service/server/src/ss_logger_error_event_responses.cpp')
-rwxr-xr-xvideo_in_hal/systemservice/logger_service/server/src/ss_logger_error_event_responses.cpp625
1 files changed, 0 insertions, 625 deletions
diff --git a/video_in_hal/systemservice/logger_service/server/src/ss_logger_error_event_responses.cpp b/video_in_hal/systemservice/logger_service/server/src/ss_logger_error_event_responses.cpp
deleted file mode 100755
index dc23d8b..0000000
--- a/video_in_hal/systemservice/logger_service/server/src/ss_logger_error_event_responses.cpp
+++ /dev/null
@@ -1,625 +0,0 @@
-/*
- * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
- *
- * Licensed 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.
- */
-
-///////////////////////////////////////////////////////////////////////////////
-/// \ingroup tag_SS_LoggerService
-/// \brief This file supports error event logging.
-///
-///////////////////////////////////////////////////////////////////////////////
-#include <string.h>
-#include <unistd.h>
-#include <sys/wait.h>
-#include <boost/bind.hpp>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/klog.h>
-#include <native_service/frameworkunified_framework_if.h>
-#include <native_service/frameworkunified_multithreading.h>
-#include <native_service/ns_sharedmem.h>
-#include <native_service/ns_sharedmem_reader.h>
-#include <native_service/ns_ringbuffer.h>
-#include <native_service/ns_logger_if.h>
-#include <system_service/ss_sm_client_if.h>
-#include <system_service/ss_logger_service_protocol.h>
-#include <system_service/ss_services.h>
-#include <system_service/ss_templates.h>
-#include <native_service/cl_process.h>
-#include <native_service/cl_lockid.h>
-#include <sstream>
-#include <string>
-#include "loggerservicedebug_loggerservicelog.h"
-#include "loggerservicedebug_thread_if.h"
-#include "ss_logger_error_event.h"
-#include "ss_logger_service_callbacks.h"
-#include "ss_logger_scrshot.h"
-#include "ss_logger_fs_directory.h"
-#include "ss_logger_common.h"
-#include "ss_logger_types.h"
-
-EFrameworkunifiedStatus SSLogger_SendtoSM(HANDLE f_hApp, TLoggingArtifact f_artifact) {
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "+");
- EFrameworkunifiedStatus l_eStatus = eFrameworkunifiedStatusOK;
- l_eStatus = SendLogArtifactRequestToSystemManager(f_artifact.ArtifactId);
- if (eFrameworkunifiedStatusOK != l_eStatus) {
- FRAMEWORKUNIFIEDLOG(
- ZONE_ERR,
- __FUNCTION__,
- " Error. SendLogArtifactRequestToSystemManager returned: %d for artifact ID: %d",
- l_eStatus, f_artifact.ArtifactId);
- }
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "-");
- return (l_eStatus);
-}
-
-EFrameworkunifiedStatus SSLogger_SendtoSelf(HANDLE f_hApp, TLoggingArtifact f_artifact) {
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "+");
- EFrameworkunifiedStatus l_eStatus = eFrameworkunifiedStatusNullPointer;
- if (NULL != f_hApp) { // LCOV_EXCL_BR_LINE 6: double check
- l_eStatus = FrameworkunifiedSendSelf(f_hApp, SS_LOGGER_ERROR_EVENT_ARTIFACT_REQ,
- sizeof(f_artifact.ArtifactId),
- &f_artifact.ArtifactId);
-
- if (eFrameworkunifiedStatusOK != l_eStatus) { // LCOV_EXCL_BR_LINE 4: NSFW error case.
- // LCOV_EXCL_START 4: NSFW error case.
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(
- ZONE_ERR,
- __FUNCTION__,
- " Error. FrameworkunifiedSendSelf(SS_LOGGER_ERROR_EVENT_ARTIFACT_REQ) returned error: %d for artifact ID: %d.",
- l_eStatus, f_artifact.ArtifactId);
- // LCOV_EXCL_STOP
- }
- }
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "-");
- return (l_eStatus);
-}
-///////////////////////////////////////////////////////////////////////////
-// Function : SendLogArtifactResponseToSelf
-// brief : Collect frameworkunifiedlog artifact and return a response to
-// SS_Logger.
-///////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CErrorEvent::SendLogArtifactResponseToSelf(
- HANDLE f_hApp, EArtifactId f_artifactId,
- std::string f_artifactFilePathAndName) {
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "+");
- EFrameworkunifiedStatus l_eStatus = eFrameworkunifiedStatusOK;
- ARTIFACT_RESPONSE l_artifactResponse;
-
- l_artifactResponse.ArtifactId = f_artifactId;
-
- strncpy(l_artifactResponse.FilePathAndName, f_artifactFilePathAndName.c_str(),
- sizeof(l_artifactResponse.FilePathAndName) - 1);
-
- l_eStatus = FrameworkunifiedSendSelf(f_hApp, SS_SM_ERROR_EVENT_ARTIFACT_RSPN,
- sizeof(l_artifactResponse), &l_artifactResponse);
-
- LOG_STATUS_IF_ERRORED(l_eStatus,
- "FrameworkunifiedSendSelf(SS_SM_ERROR_EVENT_ARTIFACT_RSPN)");
-
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "-");
- return (l_eStatus);
-}
-
-///////////////////////////////////////////////////////////////////////////
-// Function : OnObtainLoggerserviceLogRequest
-// brief : Collect frameworkunifiedlog artifact and return a response to
-// SS_Logger.
-///////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CErrorEvent::OnObtainLoggerserviceLogRequest(HANDLE f_hApp) {
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "+");
- EFrameworkunifiedStatus l_eStatus = eFrameworkunifiedStatusOK;
- std::string dir_path = DEBUG_LOG_PATH_DIR;
-
- l_eStatus = CFSDirectory::CreateDirectory(dir_path);
- if (l_eStatus != eFrameworkunifiedStatusOK) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Error: Create FRAMEWORKUNIFIEDLOG tmp directory %d",
- l_eStatus);
- } else {
- UI_32 l_DumpSize = 0;
- std::string src_file_path;
- std::string dst_file_path;
- PCSTR file_name;
- UI_32 num;
- bool log_clear = true;
-
- switch (m_errorEventNtfData.EventType) {
- // _DIAG
- case eErrorEventTypeUserInvokedUserForceReset:
- case eErrorEventTypeUserInvokedCollectAllLogs:
- case eErrorEventTypeUserInvokedCollectScreenShot:
- case eErrorEventTypeUserInvokedCollectInterfaceunifiedLogs:
- case eErrorEventTypeDiagEvent:
- case eErrorEventTypeCanEvent:
- case eErrorEventTypeDtcEvent:
- case eErrorEventTypeModuleInvokedCollectDebugLogs:
- // _DEBUG
- case eErrorEventTypeUserInvokedCollectDevLogs:
- log_clear = false;
- break;
- default:
- break;
- }
-
- num = NSLogGetFrameworkunifiedlogFileTotalNum();
- for (UI_32 cont = 0; cont < num; cont++) {
- file_name = NSLogGetFrameworkunifiedlogFileName(cont);
- if (file_name == NULL) {
- break;
- }
- src_file_path = FRAMEWORKUNIFIEDLOG_RAMDISC_PATH;
- src_file_path.append("/");
- src_file_path.append(file_name);
- dst_file_path = DEBUG_LOG_PATH_DIR;
- dst_file_path.append("/");
- dst_file_path.append(file_name);
- CNSRingBuffer* l_pLoggerservicelog;
- int index;
- index = NSLogGetFrameworkunifiedlogIndex(src_file_path.c_str());
- l_pLoggerservicelog = new (std::nothrow) CNSRingBuffer(
- src_file_path, 0, index + LOCK_NSLOG_ACCES_IF_1);
- if (l_pLoggerservicelog == NULL) { // LCOV_EXCL_BR_LINE 5: new's error case
- // LCOV_EXCL_START 5: new's error case
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- l_eStatus = eFrameworkunifiedStatusInvldHandle;
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "Error: FRAMEWORKUNIFIEDLOG RingBuffer handle is NULL %s",
- src_file_path.c_str());
- // LCOV_EXCL_STOP
- } else if (eFrameworkunifiedStatusOK != (l_eStatus = l_pLoggerservicelog->Open())) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "Error: FRAMEWORKUNIFIEDLOG RingBuffer Open failed %s %d",
- src_file_path.c_str(), l_eStatus);
- } else if (eFrameworkunifiedStatusOK
- != (l_eStatus = l_pLoggerservicelog->DumpToFile(dst_file_path.c_str(),
- &l_DumpSize))) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "Error: FRAMEWORKUNIFIEDLOG RingBuffer DumpToFile failed %s %d",
- src_file_path.c_str(), l_eStatus);
- }
- if (NULL != l_pLoggerservicelog) { // LCOV_EXCL_BR_LINE 5: new's error case
- if (log_clear) {
- if (eFrameworkunifiedStatusOK != (l_eStatus = l_pLoggerservicelog->ClearBuf())) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "Error: FRAMEWORKUNIFIEDLOG RingBuffer ClearBuf failed %s %d",
- src_file_path.c_str(), l_eStatus);
- }
- }
- (void) l_pLoggerservicelog->Close();
- delete l_pLoggerservicelog;
- }
- }
- l_eStatus = SendLogArtifactResponseToSelf(f_hApp, eArtifactIdInterfaceunifiedDebugLog,
- DEBUG_LOG_PATH_DIR);
- LOG_STATUS_IF_ERRORED(
- l_eStatus, "SendLogArtifactResponseToSelf(eArtifactIdInterfaceunifiedDebugLog)");
- }
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "-");
- return (l_eStatus);
-}
-
-///////////////////////////////////////////////////////////////////////////
-// Function : OnObtainLoggerserviceLogRequest
-// brief : Collect frameworkunifiedlog artifact and return a response to
-// SS_Logger.
-///////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CErrorEvent::OnObtainTransmitLogRequest(HANDLE f_hApp) {
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "+");
- EFrameworkunifiedStatus l_eStatus = eFrameworkunifiedStatusOK;
- std::string l_RootPath;
-
- l_eStatus = m_pReaderWriterControl->FlushCache(eReaderWriterLogTransmit);
- LOG_STATUS_IF_ERRORED(l_eStatus, "m_pReaderWriterControl->FlushCache(eReaderWriterLogTransmit)");
- l_RootPath = TRANSMIT_LOG_PATH_FN;
- if (access(l_RootPath.c_str(), R_OK) != 0) {
- l_RootPath = "";
- }
- l_eStatus = SendLogArtifactResponseToSelf(f_hApp, eArtifactIdTransmitLog,
- l_RootPath.c_str());
-
- LOG_STATUS_IF_ERRORED(l_eStatus,
- "SendLogArtifactResponseToSelf(eArtifactIdTransmitLog)");
-
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "-");
- return (l_eStatus);
-}
-
-///////////////////////////////////////////////////////////////////////////
-// Function : OnObtainLoggerserviceLogRequest
-// brief : Collect frameworkunifiedlog artifact and return a response to
-// SS_Logger.
-///////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CErrorEvent::OnObtainPerformanceLogRequest(HANDLE f_hApp) {
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "+");
- EFrameworkunifiedStatus l_eStatus = eFrameworkunifiedStatusOK;
-
- l_eStatus = m_pReaderWriterControl->FlushCache(eReaderWriterLogPerformance);
- LOG_STATUS_IF_ERRORED(
- l_eStatus,
- "m_pReaderWriterControl->FlushCache(eReaderWriterLogPerformance)");
- l_eStatus = SendLogArtifactResponseToSelf(f_hApp, eArtifactIdPerformanceLog,
- PERFORMANCE_LOG_PATH_FN);
-
- LOG_STATUS_IF_ERRORED(
- l_eStatus, "SendLogArtifactResponseToSelf(eArtifactIdPerformanceLog)");
-
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "-");
- return (l_eStatus);
-}
-
-///////////////////////////////////////////////////////////////////////////
-// Function : OnObtainScreenShotRequest
-// brief : Collect screen shot artifact from PLM and return a response
-// to SS_Logger.
-///////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CErrorEvent::OnObtainScreenShotRequest(HANDLE f_hApp) {
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "+");
-
- EFrameworkunifiedStatus l_eStatus = eFrameworkunifiedStatusFail;
-
- l_eStatus = SendLogArtifactResponseToSelf(f_hApp, eArtifactIdScreenShot,
- SCREEN_SHOT_PATH);
- LOG_STATUS_IF_ERRORED(
- l_eStatus, "SendLogArtifactResponseToSelf(eArtifactIdScreenShot)");
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "-");
- return l_eStatus;
-}
-
-///////////////////////////////////////////////////////////////////////////
-// Function : OnObtainScreenShotResponse
-// brief : Callback from PLM when the screen shot file has been written
-// to storage. The data received contains the file path and
-// name to the written screen shot file. See
-// SS_LOGGER_SCREENCAPTURE_EVT_ACK.
-///////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CErrorEvent::OnObtainScreenShotResponse(HANDLE f_hApp) {
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "+");
- EFrameworkunifiedStatus l_eStatus = eFrameworkunifiedStatusOK;
- STScreenCaptureEvt l_ScreenCaptureEvtAck;
-
- if (eFrameworkunifiedStatusOK != (l_eStatus = ReadMsg<STScreenCaptureEvt>(f_hApp, l_ScreenCaptureEvtAck))) { // LCOV_EXCL_BR_LINE 200:To ensure success // NOLINT[whitespace/line_length]
- // LCOV_EXCL_START 200:To ensure success
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- LOG_ERROR("ReadMsg()");
- // LCOV_EXCL_STOP
- } else {
- if (FALSE == l_ScreenCaptureEvtAck.fSucessful) {
- FRAMEWORKUNIFIEDLOG(
- ZONE_ERR,
- __FUNCTION__,
- " Error. Screen shot acquisition failed. l_ScreenCaptureEvtAck.fSucessful == FALSE.");
- l_ScreenCaptureEvtAck.strNameAndLocation[0] = '\0';
- }
-
- l_eStatus = SendLogArtifactResponseToSelf(
- f_hApp, eArtifactIdScreenShot,
- l_ScreenCaptureEvtAck.strNameAndLocation); // LCOV_EXCL_BR_LINE 11:Unexpected branch
-
- LOG_STATUS_IF_ERRORED( // LCOV_EXCL_BR_LINE 5:macro
- l_eStatus, "SendLogArtifactResponseToSelf(eArtifactIdScreenShot)");
- }
-
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "-");
- return (l_eStatus);
-}
-
-///////////////////////////////////////////////////////////////////////////
-// Function : OnObtainKernelLogInfoRequest
-// brief : Collect kernel log artifact and return a response to
-// SS_Logger.
-///////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CErrorEvent::OnObtainKernelLogInfoRequest(HANDLE f_hApp) {
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "+");
-
- EFrameworkunifiedStatus l_eStatus = CreateKernelLog(f_hApp, SS_LOGGER_KLOG_GET);
-
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "-");
- return (l_eStatus);
-}
-
-///////////////////////////////////////////////////////////////////////////
-// Function : OnObtainDRInitialLogRequest
-// brief : Collect DRInitialLog artifact and return a response to
-// SS_Logger.
-///////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CErrorEvent::OnObtainDRInitialLogRequest(HANDLE f_hApp) {
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "+");
- EFrameworkunifiedStatus l_eStatus = eFrameworkunifiedStatusOK;
- UI_32 l_DumpSize = 0;
-
- CNSSharedMemReader* l_pDRInitial = new (std::nothrow) CNSSharedMemReader(
- SHMEM_DRINITIALLOG, FALSE);
-
- if (NULL == l_pDRInitial) { // LCOV_EXCL_BR_LINE 5: new's error case
- l_eStatus = eFrameworkunifiedStatusInvldHandle;
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Error: DRInitial SharedMem handle is NULL");
- } else if (eFrameworkunifiedStatusOK != (l_eStatus = l_pDRInitial->Open())) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Error: DRInitial Open failed %d", l_eStatus);
- } else if (eFrameworkunifiedStatusOK
- != (l_eStatus = l_pDRInitial->DumpToFile(DRINITIAL_LOG_PATH_FN,
- &l_DumpSize))) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Error: DRInitial DumpToFile failed %d",
- l_eStatus);
- } else {
- l_eStatus = SendLogArtifactResponseToSelf(f_hApp, eArtifactIdDRInitialLog,
- DRINITIAL_LOG_PATH_FN);
- LOG_STATUS_IF_ERRORED(
- l_eStatus, "SendLogArtifactResponseToSelf(eArtifactIdDRInitialLog)");
- }
-
- if (NULL != l_pDRInitial) { // LCOV_EXCL_BR_LINE 5: new's error case
- (void) l_pDRInitial->Close();
- }
-
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "-");
- return (l_eStatus);
-}
-
-///////////////////////////////////////////////////////////////////////////
-// Function : OnObtainDRLocationLogRequest
-// brief : Collect DRLocationLog artifact and return a response to
-// SS_Logger.
-///////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CErrorEvent::OnObtainDRLocationLogRequest(HANDLE f_hApp) {
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "+");
- EFrameworkunifiedStatus l_eStatus = eFrameworkunifiedStatusOK;
- UI_32 l_DumpSize = 0;
-
- CNSSharedMemReader* l_pDRLocation = new (std::nothrow) CNSSharedMemReader(
- SHMEM_DRLOCATIONLOG, FALSE);
-
- if (NULL == l_pDRLocation) { // LCOV_EXCL_BR_LINE 5: new's error case
- l_eStatus = eFrameworkunifiedStatusInvldHandle;
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Error: DRInitial SharedMem handle is NULL");
- } else if (eFrameworkunifiedStatusOK != (l_eStatus = l_pDRLocation->Open())) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Error: DRLocation Open failed %d",
- l_eStatus);
- } else if (eFrameworkunifiedStatusOK
- != (l_eStatus = l_pDRLocation->DumpToFile(DRLOCATION_LOG_PATH_FN,
- &l_DumpSize))) {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Error: DRLocation DumpToFile failed %d",
- l_eStatus);
- } else {
- l_eStatus = SendLogArtifactResponseToSelf(f_hApp, eArtifactIdDRLocationLog,
- DRLOCATION_LOG_PATH_FN);
-
- LOG_STATUS_IF_ERRORED(
- l_eStatus, "SendLogArtifactResponseToSelf(eArtifactIdDRLocationLog)");
- }
-
- if (NULL != l_pDRLocation) { // LCOV_EXCL_BR_LINE 5: new's error case
- (void) l_pDRLocation->Close();
- delete l_pDRLocation;
- }
-
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "-");
- return (l_eStatus);
-}
-
-///////////////////////////////////////////////////////////////////////////
-// Function : OnClearAllLogRequest
-// brief : Callback from LoggerService when the event log file has been delete
-// from storage. The data received contains the file path.
-///////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CErrorEvent::OnClearAllLogRequest(HANDLE f_hApp) {
- std::string clear_file_path = CLEAR_LOG_PATH_FN;
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "+");
- EFrameworkunifiedStatus l_eStatus;
-
- if (CFSDirectory::RemoveSubDirectory(clear_file_path)) {
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__,
- "SS_Logger Clear %s directory delete successful.",
- clear_file_path.c_str());
- } else {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "SS_Logger Clear %s directory delete failed.",
- clear_file_path.c_str());
- }
-
- clear_file_path = "/nv/BS/ss/logger_service/rwdata/log2/awlog/";
- if (CFSDirectory::RemoveSubDirectory(clear_file_path)) {
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__,
- "SS_Logger Clear %s directory delete successful.",
- clear_file_path.c_str());
- } else {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "SS_Logger Clear %s directory delete failed.",
- clear_file_path.c_str());
- }
-
- clear_file_path = "/nv/BS/ss/logger_service/rwdata/log2/core/";
- if (CFSDirectory::RemoveSubDirectory(clear_file_path)) {
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__,
- "SS_Logger Clear %s directory delete successful.",
- clear_file_path.c_str());
- } else {
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "SS_Logger Clear %s directory delete failed.",
- clear_file_path.c_str());
- }
-
- l_eStatus = SendLogArtifactResponseToSelf(f_hApp, eArtifactIdClearAllLog,
- clear_file_path.c_str());
- LOG_STATUS_IF_ERRORED(l_eStatus,
- "SendLogArtifactResponseToSelf(eArtifactIdClearAllLog)");
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "-");
- return (l_eStatus);
-}
-
-///////////////////////////////////////////////////////////////////////////
-// Function : OnNaviLogRequest
-// brief : Callback from LoggerService when the event log file has been xxxxxx BUGBUG
-// from storage. The data received contains the file path.
-///////////////////////////////////////////////////////////////////////////
-EFrameworkunifiedStatus CErrorEvent::OnNaviLogRequest(HANDLE f_hApp) {
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "+");
- EFrameworkunifiedStatus l_eStatus = eFrameworkunifiedStatusOK;
-
- EFrameworkunifiedStatus naviLog_status;
- switch (m_errorEventNtfData.EventType) {
- case eErrorEventTypeProcessCrash:
- case eErrorEventTypeProcessExit:
- case eErrorEventTypeHeartBeatFailure:
- case eErrorEventTypeSystemLowMemory:
- case eErrorEventTypeBootMicroReset:
- case eErrorEventTypeModConnFailed:
- case eErrorEventTypeStartRespFailed:
- case eErrorEventTypeModuleInvokedResetRequest:
- case eErrorEventTypeGroupRelaunch:
- naviLog_status = SaveNaviLog(epssdmsdtGENERIC_ERROR_RESET);
- break;
- default:
- naviLog_status = SaveNaviLog(epssdmsdtNORMAL_RESET);
- break;
- }
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Error: Fail to save Navi Log %d",
- naviLog_status);
-
- l_eStatus = SendLogArtifactResponseToSelf(f_hApp, eArtifactIdNaviLog, "");
- LOG_STATUS_IF_ERRORED(l_eStatus,
- "SendLogArtifactResponseToSelf(eArtifactIdNaviLog)");
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "-");
- return (l_eStatus);
-}
-
-EFrameworkunifiedStatus CErrorEvent::CheckPathForArtifact(HANDLE f_hApp,
- TLoggingArtifact f_artifact) {
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "+");
- EFrameworkunifiedStatus l_eStatus = eFrameworkunifiedStatusInvldParam;
- std::string l_Path;
-
- if (f_artifact.Information.Cb.Type == eCbTypePath) {
- l_Path = f_artifact.Information.Cb.Path;
- if (access(l_Path.c_str(), R_OK) != 0) {
- FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__,
- "File/Directory %s not found. Returning empty string.",
- l_Path.c_str());
- l_Path = "";
- }
- l_eStatus = SendLogArtifactResponseToSelf(f_hApp, f_artifact.ArtifactId,
- l_Path.c_str());
-
- LOG_STATUS_IF_ERRORED(l_eStatus, "SendLogArtifactResponseToSelf()");
- }
-
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "-");
- return (l_eStatus);
-}
-
-/* Read all messages remaining in the ring buffer. (allowed for non-root) */
-#define SYSLOG_ACTION_READ_ALL 3
-/* Return size of the log buffer */
-#define SYSLOG_ACTION_SIZE_BUFFER 10
-
-EFrameworkunifiedStatus CErrorEvent::CreateKernelLog(HANDLE f_hApp,
- SS_LOGGER_KLOG_OPE_TYPE type) {
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "+");
- EFrameworkunifiedStatus l_eStatus = eFrameworkunifiedStatusOK;
- int len;
- int fd;
- char* buf;
- ssize_t wr_len;
-
- len = klogctl(SYSLOG_ACTION_SIZE_BUFFER, NULL, 0);
- if (len < 0) { // LCOV_EXCL_BR_LINE 5: klogctl's error case
- // LCOV_EXCL_START 5: klogctl's error case
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- l_eStatus = eFrameworkunifiedStatusFail;
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "Error. Failed to get syslog buffer size: %d, %s", errno,
- strerror(errno));
- // LCOV_EXCL_STOP
- } else {
- buf = reinterpret_cast<char*>(malloc(len));
- if (buf != NULL) { // LCOV_EXCL_BR_LINE 5: new's error case
- len = klogctl(SYSLOG_ACTION_READ_ALL, buf, len);
- if ((len < 0) || (len == 0)) { // LCOV_EXCL_BR_LINE 5: klogctl's error case
- // LCOV_EXCL_START 5: klogctl's error case
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- l_eStatus = eFrameworkunifiedStatusFail;
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "Error. Failed to read syslog buffer: %d, %s", errno,
- strerror(errno));
- // LCOV_EXCL_STOP
- } else {
- std::string file_put_path = "";
- EArtifactId artifact_id = eArtifactIdMaxValue;
- switch (type) {
- case SS_LOGGER_KLOG_GET:
- file_put_path = KERNEL_LOG_PATH_FN;
- artifact_id = eArtifactIdKernelLog;
- fd = open(file_put_path.c_str(),
- O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, 0644);
- break;
- case SS_LOGGER_KBOOTLOG_CREATE:
- file_put_path = KERNEL_BOOT_LOG_PATH_FN;
- artifact_id = eArtifactIdKernelBootLog;
- fd = open(file_put_path.c_str(),
- O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, 0644);
- break;
- default:
- fd = -1;
- break;
- }
-
- if (fd == -1) {
- l_eStatus = eFrameworkunifiedStatusFail;
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- "Error. Failed to open file: %s: %d, %s",
- file_put_path.c_str(), errno, strerror(errno));
- } else {
- wr_len = write(fd, buf, len);
- if (wr_len == -1) { // LCOV_EXCL_BR_LINE 5: write's error case
- // LCOV_EXCL_START 5: write's error case
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
- " Error. File write failed. errno: %d, %s", errno,
- strerror(errno));
- // LCOV_EXCL_STOP
- }
- fsync(fd);
- close(fd);
-
- if (SS_LOGGER_KLOG_GET == type) {
- l_eStatus = SendLogArtifactResponseToSelf(f_hApp, artifact_id,
- file_put_path.c_str());
- if (eFrameworkunifiedStatusOK != l_eStatus) { // LCOV_EXCL_BR_LINE 4: NSFW error case.
- // LCOV_EXCL_START 4: NSFW error case.
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- FRAMEWORKUNIFIEDLOG(
- ZONE_ERR,
- __FUNCTION__,
- "SendLogArtifactResponseToSelf failed. EFrameworkunifiedStatus:%d, ArtifactID:%d, Path:%s",
- l_eStatus, artifact_id, file_put_path.c_str());
- // LCOV_EXCL_STOP
- }
- }
- }
- }
- free(buf);
- } else {
- // LCOV_EXCL_START 5: new's error case
- AGL_ASSERT_NOT_TESTED(); // LCOV_EXCL_LINE 200: test assert
- l_eStatus = eFrameworkunifiedStatusFail;
- FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "Memory allocation Failed %s",
- strerror(errno));
- // LCOV_EXCL_STOP
- }
- }
- FRAMEWORKUNIFIEDLOG(ZONE_FUNC, __FUNCTION__, "-");
- return (l_eStatus);
-}
-