[CpuChecker]
MaxCount=10
+
+[Logger]
+Path=/run/aul/log
CONFIG_TYPE_MEMORY_MONITOR_THRESHOLD,
CONFIG_TYPE_MEMORY_MONITOR_INTERVAL,
CONFIG_TYPE_CPU_CHECKER_MAX_COUNT,
+ CONFIG_TYPE_LOGGER_PATH,
} config_type_e;
const char *_config_get_string_value(config_type_e type);
#define TAG_CPU_CHECKER "CpuChecker"
#define KEY_CPU_CHECKER_MAX_COUNT "MaxCount"
+#define TAG_LOGGER "Logger"
+#define KEY_LOGGER_PATH "Path"
+
struct memory_status_s {
char *low_key;
int low_value;
int max_count;
};
+struct logger_s {
+ char *path;
+};
+
static struct memory_status_s __memory_status;
static struct memory_monitor_s __memory_monitor;
static struct cpu_checker_s __cpu_checker;
+static struct logger_s __logger;
const char *_config_get_string_value(config_type_e type)
{
case CONFIG_TYPE_MEMORY_STATUS_NORMAL_KEY:
value = __memory_status.normal_key;
break;
+ case CONFIG_TYPE_LOGGER_PATH:
+ value = __logger.path;
+ break;
default:
_E("Unknown type");
value = NULL;
_W("CPU Checker MaxCount(%d)", __cpu_checker.max_count);
}
+static void __logger_init(void)
+{
+ __logger.path = strdup("/var/log/appfw");
+}
+
+static void __logger_fini(void)
+{
+ free(__logger.path);
+}
+
+static void __logger_set(dictionary *d)
+{
+ const char *str;
+
+ str = __get_string_value(d, TAG_LOGGER,
+ KEY_LOGGER_PATH);
+ if (str) {
+ free(__logger.path);
+ __logger.path = strdup(str);
+ }
+ _W("Logger path(%s)", __logger.path);
+}
+
int _config_init(void)
{
dictionary *d;
__memory_status_init();
__memory_monitor_init();
__cpu_checker_init();
+ __logger_init();
ret = access(PATH_LAUNCHPAD_CONF, F_OK);
if (ret != 0) {
__memory_status_set(d);
__memory_monitor_set(d);
__cpu_checker_set(d);
+ __logger_set(d);
iniparser_freedict(d);
{
_D("config fini");
+ __logger_fini();
__cpu_checker_fini();
__memory_monitor_fini();
__memory_status_fini();
#define _GNU_SOURCE
#include <stdarg.h>
#include <stdio.h>
+#include <linux/limits.h>
+#include "launchpad_config.h"
#include "launchpad_log.h"
#include "launchpad_logger.h"
#include "log_private.h"
+#define LOG_FILE "launchpad.log"
#define PATH_LAUNCHPAD_LOG "/var/log/appfw/launchpad/launchpad.log"
static logger_h __logger;
int _log_init(void)
{
+ char path[PATH_MAX];
int ret;
_W("LOG_INIT");
-
- ret = _logger_create(PATH_LAUNCHPAD_LOG, &__logger);
+ snprintf(path, sizeof(path), "%s/launchpad/launchpad.log",
+ _config_get_string_value(CONFIG_TYPE_LOGGER_PATH));
+ ret = _logger_create(path, &__logger);
if (ret != 0) {
_E("Failed to create log file. error(%d)", ret);
return ret;
#include <sys/types.h>
#include <time.h>
#include <unistd.h>
+#include <linux/limits.h>
+#include "launchpad_config.h"
#include "launchpad_logger.h"
#include "log_private.h"
static int __create_launchpad_directories(void)
{
+ const char *logger_path;
+ char path[PATH_MAX];
int ret;
- ret = __create_directory(LAUNCHPAD_LOG_APPFW_PATH);
+ logger_path = _config_get_string_value(CONFIG_TYPE_LOGGER_PATH);
+ ret = __create_directory(logger_path);
if (ret < 0)
return ret;
- ret = __set_smack_label(LAUNCHPAD_LOG_APPFW_PATH, "_");
+ ret = __set_smack_label(logger_path, "User::Home");
if (ret < 0)
return ret;
- ret = __create_directory(LAUNCHPAD_LOG_PATH);
+ snprintf(path, sizeof(path), "%s/launchpad", logger_path);
+ ret = __create_directory(path);
if (ret < 0)
return ret;
- ret = __set_smack_label(LAUNCHPAD_LOG_PATH, "User");
+ ret = __set_smack_label(path, "User");
if (ret < 0)
return ret;