🔗 지금 바로 사용해보세요!
클릭 한 번으로 바로 접속해서 복사하여 사용하실 수 있습니다
실행 로그 관리 시스템
function createAutomationLog() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
// 로그 시트가 없으면 생성
try {
var logSheet = spreadsheet.getSheetByName("자동화로그");
} catch (e) {
var logSheet = spreadsheet.insertSheet("자동화로그");
// 로그 시트 헤더 설정
logSheet.getRange("A1:F1").setValues([[
"실행일시", "함수명", "상태", "실행시간(ms)", "처리건수", "오류메시지"
]]);
logSheet.getRange("A1:F1").setFontWeight("bold");
}
return logSheet;
}
function logAutomationExecution(functionName, status, executionTime, processedCount, errorMessage) {
var logSheet = createAutomationLog();
var newRow = logSheet.getLastRow() + 1;
logSheet.getRange(newRow, 1, 1, 6).setValues([[
new Date(),
functionName,
status,
executionTime || 0,
processedCount || 0,
errorMessage || ""
]]);
}
// 개선된 재고 모니터링 (로깅 포함)
function monitorInventoryWithLogging() {
var startTime = Date.now();
var processedCount = 0;
var errorMessage = "";
try {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("재고관리");
var data = sheet.getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn()).getValues();
var alertItems = [];
for (var i = 0; i < data.length; i++) {
var row = i + 2;
var productName = data[i][0];
var currentStock = data[i][1];
var safetyStock = data[i][2];
if (currentStock <= safetyStock) {
alertItems.push({
name: productName,
current: currentStock,
safety: safetyStock
});
}
processedCount++;
}
if (alertItems.length > 0) {
sendInventoryAlert(alertItems);
}
var executionTime = Date.now() - startTime;
logAutomationExecution("monitorInventory", "성공", executionTime, processedCount, "");
} catch (error) {
var executionTime = Date.now() - startTime;
errorMessage = error.toString();
logAutomationExecution("monitorInventory", "실패", executionTime, processedCount, errorMessage);
// 관리자에게 오류 알림
GmailApp.sendEmail(
"admin@company.com",
"자동화 오류 발생",
"함수: monitorInventory\n오류: " + errorMessage
);
}
}
'스프레드시트 활용' 카테고리의 다른 글
| 스프레드시트 GPT 연동 자동화 (0) | 2025.10.13 |
|---|---|
| [자동화 스크립트 5] 모바일 전용 간단 자동화 (0) | 2025.09.03 |
| [자동화 스크립트 4] 자동 실행 트리거 설정 (3) | 2025.09.02 |
| [자동화 스크립트 3] 고객문의 자동처리 (2) | 2025.09.02 |
| [자동화 스크립트 2] 실시간 재고관리 자동화 (1) | 2025.09.02 |