Skip to content

Commit 871f04f

Browse files
author
Kevin Beier
committed
fixing a few things
1 parent 97eb8fb commit 871f04f

5 files changed

Lines changed: 55 additions & 18 deletions

File tree

.env

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
VITE_BASEURL=https://api.example.com
2-
VITE_BEARERTOKEN=YOUR_BEARER_TOKEN
2+
VITE_BEARERTOKEN=YOUR_BEARER_TOKEN
3+
VITE_LOG_FILE_NAME = vigad.log
4+
VITE_LOGLEVEL = error

electron/preload/index.ts

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
import { app } from 'electron';
12
import log from 'electron-log';
3+
import path from 'node:path';
24

35
function domReady(
46
condition: DocumentReadyState[] = ['complete', 'interactive']
@@ -115,12 +117,31 @@ contextBridge.exposeInMainWorld('electronAPI', {
115117
saveLog: (
116118
message: string,
117119
level: ElectronLogLevel = ElectronLogLevel.INFO,
118-
logFile = 'vigad.log'
120+
logFileName: string
119121
) => {
120-
// Set the desired log file name
121-
log.transports.file.fileName = logFile;
122-
// Save log message using electron-log
123-
log[level](message);
122+
const logDirecotryName = 'logs';
123+
124+
console.log(process.env.NODE_ENV);
125+
126+
log.transports.file.format = '[{h}:{i}:{s}:{ms}] [{level}] {text}';
127+
log.transports.file.maxSize = 5 * 1024 * 1024; // 5 MB
128+
129+
if (process.env.NODE_ENV === 'development') {
130+
// Set the desired log file name
131+
log.transports.file.resolvePath = () =>
132+
path.join(logDirecotryName, logFileName);
133+
134+
// Save log message using electron-log
135+
log[level](message);
136+
} else {
137+
// TODO: cant save log file in the root directory of the installed application yet
138+
// Set the desired log file name in the root directory of the installed application
139+
const logFilePath = path.join(app.getPath('exe'), logFileName);
140+
log.transports.file.resolvePath = () => logFilePath;
141+
142+
// Save log message using electron-log
143+
log[level](message);
144+
}
124145
},
125146
});
126147

src/App.vue

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,18 +44,24 @@ import BottomNavigation from '@/components/Navigation/BottomNavigation.vue';
4444
import NotificantionProvider from '@/components/Notifications/NotificationProvider/NotificationProvider.vue';
4545
import { NotificationAnchorPosition } from '@/components/Notifications/NotificationAnchorPosition';
4646
import useStreamHandler from '@/composables/useStreamHandler/useStreamHandler';
47+
import useLogger from '@/composables/useLogger/useLogger';
4748
4849
// Force the application to navigate to the default route
4950
const router = useRouter();
5051
5152
// Get the default preview video stream function
5253
const { setDefaultPreviewVideoStream } = useStreamHandler();
5354
55+
// Get the addLog function from the useLogger composable
56+
const { addLog } = useLogger();
57+
5458
onMounted(async () => {
5559
// set the default preview video stream
5660
await setDefaultPreviewVideoStream();
5761
// navigate to the default route
5862
router.push('/');
63+
// add a log entry
64+
addLog('Application started');
5965
});
6066
</script>
6167

src/composables/useLogger/useLogger.ts

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { onMounted, onUnmounted, ref } from 'vue';
1+
import { ref } from 'vue';
22
import { Logger } from 'tslog';
33
import { ElectronLogLevel } from './electron-log-level';
44

@@ -25,10 +25,14 @@ export default function useLogger() {
2525
* @param {string} message - The log message
2626
* @param {ElectronLogLevel} [logLevel=ElectronLogLevel.INFO] - The log level
2727
*/
28-
const addLog = (message: string, logLevel = ElectronLogLevel.INFO) => {
28+
const addLog = (
29+
message: string,
30+
logLevel = ElectronLogLevel.INFO,
31+
fileName = import.meta.env.VITE_LOG_FILE_NAME
32+
) => {
2933
logger.debug(message);
3034
logMessages.value.push(message);
31-
electronLogger.saveLog(message, logLevel);
35+
electronLogger.saveLog(message, logLevel, fileName);
3236
};
3337

3438
/**
@@ -71,15 +75,6 @@ export default function useLogger() {
7175
addLog(message, ElectronLogLevel.SILLY);
7276
};
7377

74-
// Lifecycle hooks
75-
onMounted(() => {
76-
logger.info('Logger initialized');
77-
});
78-
79-
onUnmounted(() => {
80-
logger.info('Logger terminated');
81-
});
82-
8378
return {
8479
log: logMessages,
8580
addLog,

src/composables/useNotificationSystem/useNotificationSystem.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { ref } from 'vue';
22
import useTokenGenerator from '@/composables/useTokenGenerator/useTokenGenerator';
3+
import useLogger from '@/composables/useLogger/useLogger';
34

45
/**
56
* notifications list
@@ -11,6 +12,7 @@ const notifications = ref<Notification[]>([]);
1112
*/
1213
export default function useNotificationSystem() {
1314
const { generateValidToken } = useTokenGenerator();
15+
const { addLog, addWarnLog, addErrorLog } = useLogger();
1416

1517
/**
1618
* Create a notification
@@ -22,6 +24,17 @@ export default function useNotificationSystem() {
2224
options
2325
);
2426

27+
const type = _options.type;
28+
29+
// Add log message to the log file
30+
if (type === 'error') {
31+
addErrorLog(_options.title);
32+
} else if (type === 'warning') {
33+
addWarnLog(_options.title);
34+
} else {
35+
addLog(_options.title);
36+
}
37+
2538
notifications.value.push(
2639
...[
2740
{

0 commit comments

Comments
 (0)