w-web-perm 1.0.49 → 1.0.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +5 -5
  2. package/dist/css/app.8781355a.css +1 -0
  3. package/dist/css/{chunk-vendors.2d3ef2ba.css → chunk-vendors.58917286.css} +1 -1
  4. package/dist/index.tmp +1 -1
  5. package/dist/js/app-legacy.b2754bb1.js +1 -0
  6. package/dist/js/app.b2754bb1.js +1 -0
  7. package/dist/js/{chunk-vendors-legacy.8fdd4435.js → chunk-vendors-legacy.c14a1ed1.js} +6 -6
  8. package/dist/js/{chunk-vendors.8fdd4435.js → chunk-vendors.c14a1ed1.js} +6 -6
  9. package/dist/w-web-perm.umd.js +2 -2
  10. package/dist/w-web-perm.umd.js.map +1 -1
  11. package/docs/WWebPerm.html +3 -3
  12. package/docs/WWebPerm.mjs.html +33 -20
  13. package/docs/index.html +1 -1
  14. package/logs/2026-06-19T16.log +191 -0
  15. package/logs/2026-06-20T00.log +207 -0
  16. package/logs/2026-06-20T11.log +221 -0
  17. package/logs/2026-06-20T12.log +146 -0
  18. package/logs/2026-06-20T13.log +134 -0
  19. package/logs/2026-06-20T14.log +296 -0
  20. package/logs/2026-06-20T15.log +225 -0
  21. package/logs/2026-06-20T16.log +174 -0
  22. package/logs/2026-06-21T16.log +110 -0
  23. package/logs/2026-06-21T17.log +301 -0
  24. package/logs/2026-06-21T18.log +238 -0
  25. package/logs/2026-06-21T19.log +141 -0
  26. package/logs/2026-06-21T20.log +99 -0
  27. package/logs/2026-06-21T21.log +143 -0
  28. package/logs/2026-06-21T23.log +26 -0
  29. package/logs/2026-06-22T00.log +33 -0
  30. package/logs/2026-06-22T08.log +235 -0
  31. package/logs/2026-06-22T09.log +246 -0
  32. package/logs/2026-06-22T10.log +301 -0
  33. package/logs/2026-06-22T11.log +140 -0
  34. package/logs/2026-06-22T12.log +22 -0
  35. package/logs/2026-06-22T14.log +44 -0
  36. package/logs/2026-06-22T23.log +951 -0
  37. package/logs/2026-06-23T00.log +263 -0
  38. package/logs/2026-06-23T08.log +611 -0
  39. package/logs/2026-06-30T21.log +3609 -0
  40. package/logs/2026-06-30T22.log +3682 -0
  41. package/logs/2026-06-30T23.log +592 -0
  42. package/logs/2026-07-01T12.log +0 -0
  43. package/logs/2026-07-09T22.log +2220 -0
  44. package/logs/2026-07-09T23.log +1140 -0
  45. package/logs/2026-07-10T12.log +6 -0
  46. package/logs/2026-07-10T13.log +351 -0
  47. package/logs/2026-07-10T16.log +1272 -0
  48. package/logs/2026-07-10T19.log +6 -0
  49. package/logs/2026-07-10T20.log +1883 -0
  50. package/logs/2026-07-10T21.log +3505 -0
  51. package/logs/2026-07-10T22.log +3395 -0
  52. package/logs/2026-07-11T00.log +1338 -0
  53. package/logs/2026-07-11T01.log +2492 -0
  54. package/logs/2026-07-11T17.log +19 -0
  55. package/package.json +18 -15
  56. package/server/WWebPerm.mjs +32 -19
  57. package/server/procCore.mjs +22 -4
  58. package/server/procLang.mjs +84 -65
  59. package/server/procStaInfor.mjs +10 -0
  60. package/server/staLogs/filterVpfsByWindow.mjs +27 -0
  61. package/server/staLogs/staEvent.mjs +2 -0
  62. package/server/staLogs/staEventTable.mjs +2 -0
  63. package/settings.json +3 -0
  64. package/src/components/LayoutContent.vue +0 -2
  65. package/src/components/LayoutContentGrups.vue +0 -2
  66. package/src/components/LayoutContentPemis.vue +0 -2
  67. package/src/components/LayoutContentStaInfor.vue +0 -2
  68. package/src/components/LayoutContentTargets.vue +3 -5
  69. package/src/components/LayoutContentUsers.vue +0 -2
  70. package/src/components/VeCgrups.vue +7 -6
  71. package/src/components/VeCpemis.vue +7 -6
  72. package/src/components/VeCrules.vue +7 -6
  73. package/src/components/VeGrupBlngUsers.vue +21 -27
  74. package/src/components/VePemiBlngGrups.vue +21 -27
  75. package/src/main.js +3 -9
  76. package/src/perm.mjs +3 -4
  77. package/src/plugins/mUI.mjs +0 -48
  78. package/src/store/mutations.mjs +0 -10
  79. package/src/store/types.mjs +0 -2
  80. package/tableTags.json +1 -1
  81. package/z/344/277/256/346/255/243/350/246/217/345/212/203/346/233/270.md +450 -0
  82. package/_gh-pages-deploy/WWebPerm.html +0 -938
  83. package/_gh-pages-deploy/WWebPerm.mjs.html +0 -1228
  84. package/_gh-pages-deploy/fonts/Montserrat/Montserrat-Bold.eot +0 -0
  85. package/_gh-pages-deploy/fonts/Montserrat/Montserrat-Bold.ttf +0 -0
  86. package/_gh-pages-deploy/fonts/Montserrat/Montserrat-Bold.woff +0 -0
  87. package/_gh-pages-deploy/fonts/Montserrat/Montserrat-Bold.woff2 +0 -0
  88. package/_gh-pages-deploy/fonts/Montserrat/Montserrat-Regular.eot +0 -0
  89. package/_gh-pages-deploy/fonts/Montserrat/Montserrat-Regular.ttf +0 -0
  90. package/_gh-pages-deploy/fonts/Montserrat/Montserrat-Regular.woff +0 -0
  91. package/_gh-pages-deploy/fonts/Montserrat/Montserrat-Regular.woff2 +0 -0
  92. package/_gh-pages-deploy/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  93. package/_gh-pages-deploy/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -978
  94. package/_gh-pages-deploy/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  95. package/_gh-pages-deploy/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  96. package/_gh-pages-deploy/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  97. package/_gh-pages-deploy/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  98. package/_gh-pages-deploy/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -1049
  99. package/_gh-pages-deploy/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  100. package/_gh-pages-deploy/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  101. package/_gh-pages-deploy/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  102. package/_gh-pages-deploy/index.html +0 -84
  103. package/_gh-pages-deploy/scripts/collapse.js +0 -39
  104. package/_gh-pages-deploy/scripts/commonNav.js +0 -28
  105. package/_gh-pages-deploy/scripts/linenumber.js +0 -25
  106. package/_gh-pages-deploy/scripts/nav.js +0 -12
  107. package/_gh-pages-deploy/scripts/polyfill.js +0 -4
  108. package/_gh-pages-deploy/scripts/prettify/Apache-License-2.0.txt +0 -202
  109. package/_gh-pages-deploy/scripts/prettify/lang-css.js +0 -2
  110. package/_gh-pages-deploy/scripts/prettify/prettify.js +0 -28
  111. package/_gh-pages-deploy/scripts/search.js +0 -99
  112. package/_gh-pages-deploy/styles/jsdoc.css +0 -776
  113. package/_gh-pages-deploy/styles/prettify.css +0 -80
  114. package/dist/css/app.d8b16216.css +0 -1
  115. package/dist/js/app-legacy.fb48310a.js +0 -1
  116. package/dist/js/app.fb48310a.js +0 -1
  117. package/server/staLogs/test_staEvent.mjs +0 -22
  118. package/src/plugins/mDataSelectorSchema.mjs +0 -30
  119. package/tableTags-web-perm.json +0 -1
  120. /package/{_gh-pages-deploy/.nojekyll → logs/2026-06-19T23.log} +0 -0
@@ -80,7 +80,7 @@
80
80
 
81
81
  <dt class="tag-source">Source:</dt>
82
82
  <dd class="tag-source"><ul class="dummy"><li>
83
- <a href="WWebPerm.mjs.html">WWebPerm.mjs</a>, <a href="WWebPerm.mjs.html#line139">line 139</a>
83
+ <a href="WWebPerm.mjs.html">WWebPerm.mjs</a>, <a href="WWebPerm.mjs.html#line137">line 137</a>
84
84
  </li></ul></dd>
85
85
 
86
86
 
@@ -298,7 +298,7 @@
298
298
  </td>
299
299
 
300
300
 
301
- <td class="description last"><p>輸入處理函數,函數會傳入使用者token,通過此函數處理後並回傳使用者資訊物件,並至少須提供'id'、'email'、'name'、'isAdmin'欄位,且'isAdmin'限輸入'y'或'n',且輸入'y'時會複寫權限系統該使用者之'isAdmin'欄位值</p></td>
301
+ <td class="description last"><p>輸入處理函數,函數會傳入使用者token,通過此函數處理後並回傳使用者資訊物件,並至少須提供'id'、'email'、'name'、'isAdmin'欄位,且'isAdmin'限輸入'y'或'n'。注意: token 回傳之'isAdmin'僅供識別,權限系統一律以自身users表該使用者之'isAdmin'欄位值為權威,不會被 token 宣稱之值複寫</p></td>
302
302
  </tr>
303
303
 
304
304
 
@@ -925,7 +925,7 @@
925
925
  <br class="clear">
926
926
 
927
927
  <footer>
928
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Jun 22 2026 15:47:48 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
928
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Thu Jul 23 2026 11:41:51 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
929
929
  </footer>
930
930
 
931
931
  <script>prettyPrint();</script>
@@ -48,10 +48,8 @@
48
48
  <pre class="prettyprint source linenums"><code>import path from 'path'
49
49
  import fs from 'fs'
50
50
  import get from 'lodash-es/get.js'
51
- import each from 'lodash-es/each.js'
52
51
  import map from 'lodash-es/map.js'
53
52
  import keys from 'lodash-es/keys.js'
54
- import size from 'lodash-es/size.js'
55
53
  import join from 'lodash-es/join.js'
56
54
  import iseobj from 'wsemi/src/iseobj.mjs'
57
55
  import isestr from 'wsemi/src/isestr.mjs'
@@ -89,7 +87,7 @@ import procStaInfor from './procStaInfor.mjs'
89
87
  * @param {Function} WOrm 輸入資料庫ORM函數
90
88
  * @param {String} url 輸入資料庫連線字串,例如w-orm-lmdb為'./db',或w-orm-mongodb為'mongodb://username:password@$127.0.0.1:27017'
91
89
  * @param {String} db 輸入資料庫名稱字串
92
- * @param {Function} getUserByToken 輸入處理函數,函數會傳入使用者token,通過此函數處理後並回傳使用者資訊物件,並至少須提供'id'、'email'、'name'、'isAdmin'欄位,且'isAdmin'限輸入'y'或'n',且輸入'y'時會複寫權限系統該使用者之'isAdmin'欄位值
90
+ * @param {Function} getUserByToken 輸入處理函數,函數會傳入使用者token,通過此函數處理後並回傳使用者資訊物件,並至少須提供'id'、'email'、'name'、'isAdmin'欄位,且'isAdmin'限輸入'y'或'n'。注意: token 回傳之'isAdmin'僅供識別,權限系統一律以自身users表該使用者之'isAdmin'欄位值為權威,不會被 token 宣稱之值複寫
93
91
  * @param {Function} verifyClientUser 輸入驗證瀏覽使用者身份之處理函數,函數會傳入使用者資訊物件,通過此函數識別後回傳布林值,允許使用者回傳true,反之回傳false
94
92
  * @param {Function} verifyAppUser 輸入驗證應用程序使用者身份之處理函數,函數會傳入使用者資訊物件,通過此函數識別後回傳布林值,允許使用者回傳true,反之回傳false
95
93
  * @param {Object} [opt={}] 輸入設定物件,預設{}
@@ -332,6 +330,8 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser
332
330
  }
333
331
  catch (err) {
334
332
  console.log(err)
333
+ srLog.error({ event: 'WServOrm-init-error', msg: (err &amp;&amp; err.message) || 'WServOrmInitFailed' })
334
+ throw err //fail-fast: ORM 初始化失敗直接終止啟動, 不以 wp={} 繼續組裝出「port 起得來但 woItems/procOrm 為 undefined、CRUD 全 crash」的半死伺服器
335
335
  }
336
336
  let { woItems, procOrm } = wp
337
337
 
@@ -345,8 +345,12 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser
345
345
  let pc = procCore(woItems, procOrm, { srLog, kmx })
346
346
 
347
347
 
348
- //procStaInfor: 統計資訊, fdLog 對齊 srLog 使用同一目錄; mock 由 settings.staEventMock 注入(e2e 統計圖穩定用)
349
- let psi = procStaInfor({ fdLog: './_logs', mock: get(opt, 'staEventMock', false) })
348
+ //procStaInfor: 統計資訊, fdLog 對齊 srLog 使用同一目錄(讀 settings.logFd, fallback 邏輯同 srLog.mjs); mock 由 settings.staEventMock 注入(e2e 統計圖穩定用)
349
+ let logFd = get(opt, 'logFd', '')
350
+ if (!isestr(logFd)) {
351
+ logFd = './_logs'
352
+ }
353
+ let psi = procStaInfor({ fdLog: logFd, mock: get(opt, 'staEventMock', false) })
350
354
 
351
355
 
352
356
  //getWebInfor
@@ -497,13 +501,10 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser
497
501
  return Promise.reject(`cannotGetUserFromPerm`)
498
502
  }
499
503
 
500
- //複寫isAdmin
501
- let isAdminSrc = get(userSelf, 'isAdmin', '')
502
- let isAdminSelf = get(userFind, 'isAdmin', '')
503
- if (isAdminSrc !== isAdminSelf) {
504
- userFind.isAdmin = isAdminSelf
505
- }
506
- // console.log('userFind(isAdmin)', userFind)
504
+ //isAdmin 權威為 perm users 表之欄位值, 不以 token(getUserByToken)宣稱之 isAdmin 複寫。
505
+ //(2026-07-11 稽核 A-C1 裁決(b): 原此處有一段恆為 no-op 之「複寫isAdmin」死碼
506
+ // (userFind.isAdmin = isAdminSelf, 把自己指派給自己), 與 JSDoc 舊文「輸入'y'時會複寫」互斥;
507
+ // 依業主裁決採保守解: 刪除死碼、文件對齊實際行為, 不啟用 token→admin 提權路徑。)
507
508
 
508
509
  return userFind
509
510
  }
@@ -1105,7 +1106,7 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser
1105
1106
 
1106
1107
  //WServHapiServer
1107
1108
  instWServHapiServer = new WServHapiServer({
1108
- port: opt.serverPort,
1109
+ port: serverPort,
1109
1110
  pathStaticFiles,
1110
1111
  apiName: 'api',
1111
1112
  apis,
@@ -1180,15 +1181,27 @@ function WWebPerm(WOrm, url, db, getUserByToken, verifyClientUser, verifyAppUser
1180
1181
  updateUsers: pc.updateUsers,
1181
1182
 
1182
1183
  getStaEvent: async (userId, timeLength, timeInterval) => {
1183
- let rs = await psi.getStaEvent(userId, timeLength, timeInterval)
1184
- srLog.info({ event: 'getStaEvent-success', userId })
1185
- return rs
1184
+ try {
1185
+ let rs = await psi.getStaEvent(userId, timeLength, timeInterval)
1186
+ srLog.info({ event: 'getStaEvent-success', userId })
1187
+ return rs
1188
+ }
1189
+ catch (err) {
1190
+ srLog.error({ event: 'getStaEvent-error', userId, msg: (typeof err === 'string') ? err : ((err &amp;&amp; err.message) || 'cannotGetStaEvent') })
1191
+ throw err
1192
+ }
1186
1193
  },
1187
1194
 
1188
1195
  getStaEventTable: async (userId) => {
1189
- let rs = await psi.getStaEventTable(userId)
1190
- srLog.info({ event: 'getStaEventTable-success', userId })
1191
- return rs
1196
+ try {
1197
+ let rs = await psi.getStaEventTable(userId)
1198
+ srLog.info({ event: 'getStaEventTable-success', userId })
1199
+ return rs
1200
+ }
1201
+ catch (err) {
1202
+ srLog.error({ event: 'getStaEventTable-error', userId, msg: (typeof err === 'string') ? err : ((err &amp;&amp; err.message) || 'cannotGetStaEventTable') })
1203
+ throw err
1204
+ }
1192
1205
  },
1193
1206
 
1194
1207
  },
@@ -1215,7 +1228,7 @@ export default WWebPerm
1215
1228
  <br class="clear">
1216
1229
 
1217
1230
  <footer>
1218
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Jun 22 2026 15:47:48 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1231
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Thu Jul 23 2026 11:41:51 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1219
1232
  </footer>
1220
1233
 
1221
1234
  <script>prettyPrint();</script>
package/docs/index.html CHANGED
@@ -71,7 +71,7 @@
71
71
  <br class="clear">
72
72
 
73
73
  <footer>
74
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Jun 22 2026 15:47:48 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
74
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Thu Jul 23 2026 11:41:51 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
75
75
  </footer>
76
76
 
77
77
  <script>prettyPrint();</script>
@@ -0,0 +1,191 @@
1
+ {"level":50,"time":1781856502916,"pid":2680,"hostname":"semi-win-dev3","event":"getTokenUser-error","msg":"cannotFindUserFromToken"}
2
+ {"level":50,"time":1781856502947,"pid":2680,"hostname":"semi-win-dev3","event":"api/getPermUserInfor-error","msg":"tokenNoPermission"}
3
+ {"level":50,"time":1781856502949,"pid":2680,"hostname":"semi-win-dev3","event":"getAndVerifyAppUser-error","msg":"cannotFindUserFromToken"}
4
+ {"level":50,"time":1781856503250,"pid":2680,"hostname":"semi-win-dev3","event":"parsePayload-error","msg":"invalidRowsInPayload"}
5
+ {"level":50,"time":1781856503253,"pid":2680,"hostname":"semi-win-dev3","event":"getAndVerifyAppUser-error","msg":"cannotFindUserFromToken"}
6
+ {"level":50,"time":1781856503256,"pid":2680,"hostname":"semi-win-dev3","event":"api/syncAndReplaceTabs-error","msg":"invalidKeyTable","keyTable":"foobar"}
7
+ {"level":50,"time":1781856503260,"pid":2680,"hostname":"semi-win-dev3","event":"parsePayload-error","msg":"invalidFromInPayload"}
8
+ {"level":50,"time":1781856503262,"pid":2680,"hostname":"semi-win-dev3","event":"parsePayload-error","msg":"invalidRowsInPayload"}
9
+ {"level":50,"time":1781856503264,"pid":2680,"hostname":"semi-win-dev3","event":"parsePayload-error","msg":"invalidPayload"}
10
+ {"level":50,"time":1781856503364,"pid":2680,"hostname":"semi-win-dev3","event":"updateTabItems-ckKey-error","keyTable":"users","key":"email","msg":"saveRowFieldDuplicate","row":4,"value":"john@example.com"}
11
+ {"level":50,"time":1781856503441,"pid":2680,"hostname":"semi-win-dev3","event":"updateTabItems-ckKey-error","keyTable":"grups","key":"name","msg":"saveRowFieldDuplicate","row":4,"value":"權限群組M2"}
12
+ {"level":50,"time":1781856503504,"pid":2680,"hostname":"semi-win-dev3","event":"updateTabItems-ckKey-error","keyTable":"pemis","key":"name","msg":"saveRowFieldDuplicate","row":4,"value":"權限P2"}
13
+ {"level":50,"time":1781856503613,"pid":2680,"hostname":"semi-win-dev3","event":"updateTabItems-ckKey-error","keyTable":"targets","key":"id","msg":"saveRowFieldDuplicate","row":22,"value":"專案A/頁A/區塊A"}
14
+ {"level":50,"time":1781856594403,"pid":8660,"hostname":"semi-win-dev3","event":"getTokenUser-error","msg":"cannotFindUserFromToken"}
15
+ {"level":50,"time":1781856594427,"pid":8660,"hostname":"semi-win-dev3","event":"api/getPermUserInfor-error","msg":"tokenNoPermission"}
16
+ {"level":50,"time":1781856594429,"pid":8660,"hostname":"semi-win-dev3","event":"getAndVerifyAppUser-error","msg":"cannotFindUserFromToken"}
17
+ {"level":50,"time":1781856594724,"pid":8660,"hostname":"semi-win-dev3","event":"parsePayload-error","msg":"invalidRowsInPayload"}
18
+ {"level":50,"time":1781856594736,"pid":8660,"hostname":"semi-win-dev3","event":"getAndVerifyAppUser-error","msg":"cannotFindUserFromToken"}
19
+ {"level":50,"time":1781856594739,"pid":8660,"hostname":"semi-win-dev3","event":"api/syncAndReplaceTabs-error","msg":"invalidKeyTable","keyTable":"foobar"}
20
+ {"level":50,"time":1781856594742,"pid":8660,"hostname":"semi-win-dev3","event":"parsePayload-error","msg":"invalidFromInPayload"}
21
+ {"level":50,"time":1781856594744,"pid":8660,"hostname":"semi-win-dev3","event":"parsePayload-error","msg":"invalidRowsInPayload"}
22
+ {"level":50,"time":1781856594745,"pid":8660,"hostname":"semi-win-dev3","event":"parsePayload-error","msg":"invalidPayload"}
23
+ {"level":50,"time":1781856594862,"pid":8660,"hostname":"semi-win-dev3","event":"updateTabItems-ckKey-error","keyTable":"users","key":"email","msg":"saveRowFieldDuplicate","row":4,"value":"john@example.com"}
24
+ {"level":50,"time":1781856594925,"pid":8660,"hostname":"semi-win-dev3","event":"updateTabItems-ckKey-error","keyTable":"grups","key":"name","msg":"saveRowFieldDuplicate","row":4,"value":"權限群組M2"}
25
+ {"level":50,"time":1781856594987,"pid":8660,"hostname":"semi-win-dev3","event":"updateTabItems-ckKey-error","keyTable":"pemis","key":"name","msg":"saveRowFieldDuplicate","row":4,"value":"權限P2"}
26
+ {"level":50,"time":1781856595096,"pid":8660,"hostname":"semi-win-dev3","event":"updateTabItems-ckKey-error","keyTable":"targets","key":"id","msg":"saveRowFieldDuplicate","row":22,"value":"專案A/頁A/區塊A"}
27
+ {"level":50,"time":1781856743344,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
28
+ {"level":50,"time":1781856743412,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
29
+ {"level":50,"time":1781856744372,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
30
+ {"level":50,"time":1781856744437,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
31
+ {"level":50,"time":1781856746177,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
32
+ {"level":50,"time":1781856746242,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
33
+ {"level":50,"time":1781856749372,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
34
+ {"level":50,"time":1781856749428,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
35
+ {"level":50,"time":1781856751408,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
36
+ {"level":50,"time":1781856752433,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
37
+ {"level":50,"time":1781856768572,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
38
+ {"level":50,"time":1781856768738,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
39
+ {"level":50,"time":1781856769595,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
40
+ {"level":50,"time":1781856769756,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
41
+ {"level":50,"time":1781856771395,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
42
+ {"level":50,"time":1781856771556,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
43
+ {"level":50,"time":1781856774590,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
44
+ {"level":50,"time":1781856774751,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
45
+ {"level":50,"time":1781856776736,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
46
+ {"level":50,"time":1781856777755,"pid":15672,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
47
+ {"level":50,"time":1781856810168,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
48
+ {"level":50,"time":1781856810385,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
49
+ {"level":50,"time":1781856811195,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
50
+ {"level":50,"time":1781856811409,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
51
+ {"level":50,"time":1781856813000,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
52
+ {"level":50,"time":1781856813215,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
53
+ {"level":50,"time":1781856816196,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
54
+ {"level":50,"time":1781856816410,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
55
+ {"level":50,"time":1781856818385,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
56
+ {"level":50,"time":1781856819410,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
57
+ {"level":50,"time":1781856835114,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
58
+ {"level":50,"time":1781856835387,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
59
+ {"level":50,"time":1781856836140,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
60
+ {"level":50,"time":1781856836408,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
61
+ {"level":50,"time":1781856837945,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
62
+ {"level":50,"time":1781856838214,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
63
+ {"level":50,"time":1781856841141,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
64
+ {"level":50,"time":1781856841410,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
65
+ {"level":50,"time":1781856843388,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
66
+ {"level":50,"time":1781856844412,"pid":13688,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
67
+ {"level":50,"time":1781856876519,"pid":16704,"hostname":"semi-win-dev3","event":"updateTabItems-ckKey-error","keyTable":"targets","key":"id","msg":"saveRowFieldInvalid","row":0}
68
+ {"level":50,"time":1781856895700,"pid":16704,"hostname":"semi-win-dev3","event":"updateTabItems-ckKey-error","keyTable":"targets","key":"id","msg":"saveRowFieldDuplicate","row":9,"value":"專案A/頁C"}
69
+ {"level":50,"time":1781856917144,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
70
+ {"level":50,"time":1781856917778,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
71
+ {"level":50,"time":1781856918167,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
72
+ {"level":50,"time":1781856918804,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
73
+ {"level":50,"time":1781856919974,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
74
+ {"level":50,"time":1781856920613,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
75
+ {"level":50,"time":1781856923178,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
76
+ {"level":50,"time":1781856923820,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
77
+ {"level":50,"time":1781856925781,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
78
+ {"level":50,"time":1781856942412,"pid":16704,"hostname":"semi-win-dev3","event":"updateTabItems-ckKey-error","keyTable":"targets","key":"id","msg":"saveRowFieldInvalid","row":0}
79
+ {"level":50,"time":1781856961188,"pid":16704,"hostname":"semi-win-dev3","event":"updateTabItems-ckKey-error","keyTable":"targets","key":"id","msg":"saveRowFieldDuplicate","row":9,"value":"專案A/頁C"}
80
+ {"level":50,"time":1781856981939,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
81
+ {"level":50,"time":1781856982542,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
82
+ {"level":50,"time":1781856982975,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
83
+ {"level":50,"time":1781856983576,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
84
+ {"level":50,"time":1781856984780,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
85
+ {"level":50,"time":1781856985388,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
86
+ {"level":50,"time":1781856987978,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
87
+ {"level":50,"time":1781856988586,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
88
+ {"level":50,"time":1781856990553,"pid":16704,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
89
+ {"level":50,"time":1781857026143,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
90
+ {"level":50,"time":1781857026741,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
91
+ {"level":50,"time":1781857027176,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
92
+ {"level":50,"time":1781857027774,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
93
+ {"level":50,"time":1781857028983,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
94
+ {"level":50,"time":1781857029592,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
95
+ {"level":50,"time":1781857032188,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
96
+ {"level":50,"time":1781857032783,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
97
+ {"level":50,"time":1781857034752,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
98
+ {"level":50,"time":1781857053024,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
99
+ {"level":50,"time":1781857053474,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
100
+ {"level":50,"time":1781857054055,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
101
+ {"level":50,"time":1781857054508,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
102
+ {"level":50,"time":1781857055870,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
103
+ {"level":50,"time":1781857056323,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
104
+ {"level":50,"time":1781857059071,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
105
+ {"level":50,"time":1781857059525,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
106
+ {"level":50,"time":1781857061478,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
107
+ {"level":50,"time":1781857062507,"pid":14864,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
108
+ {"level":50,"time":1781857402400,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
109
+ {"level":50,"time":1781857402880,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
110
+ {"level":50,"time":1781857403434,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
111
+ {"level":50,"time":1781857403906,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
112
+ {"level":50,"time":1781857405243,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
113
+ {"level":50,"time":1781857405717,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
114
+ {"level":50,"time":1781857408447,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
115
+ {"level":50,"time":1781857408919,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
116
+ {"level":50,"time":1781857410882,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
117
+ {"level":50,"time":1781857411920,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
118
+ {"level":50,"time":1781857622041,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
119
+ {"level":50,"time":1781857622439,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
120
+ {"level":50,"time":1781857623086,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
121
+ {"level":50,"time":1781857623469,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
122
+ {"level":50,"time":1781857624900,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
123
+ {"level":50,"time":1781857625285,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
124
+ {"level":50,"time":1781857628104,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
125
+ {"level":50,"time":1781857628486,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
126
+ {"level":50,"time":1781857630452,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
127
+ {"level":50,"time":1781857631491,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
128
+ {"level":50,"time":1781857822319,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
129
+ {"level":50,"time":1781857822334,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
130
+ {"level":50,"time":1781857823361,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
131
+ {"level":50,"time":1781857823363,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
132
+ {"level":50,"time":1781857825169,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
133
+ {"level":50,"time":1781857825170,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
134
+ {"level":50,"time":1781857828370,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
135
+ {"level":50,"time":1781857828371,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
136
+ {"level":50,"time":1781857830307,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
137
+ {"level":50,"time":1781857831328,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
138
+ {"level":50,"time":1781858015121,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
139
+ {"level":50,"time":1781858015231,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
140
+ {"level":50,"time":1781858016155,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
141
+ {"level":50,"time":1781858016254,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
142
+ {"level":50,"time":1781858017962,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
143
+ {"level":50,"time":1781858018063,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
144
+ {"level":50,"time":1781858021156,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
145
+ {"level":50,"time":1781858021253,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
146
+ {"level":50,"time":1781858023232,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
147
+ {"level":50,"time":1781858024256,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
148
+ {"level":50,"time":1781858214003,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
149
+ {"level":50,"time":1781858214041,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
150
+ {"level":50,"time":1781858215039,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
151
+ {"level":50,"time":1781858215051,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
152
+ {"level":50,"time":1781858216845,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
153
+ {"level":50,"time":1781858216847,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
154
+ {"level":50,"time":1781858220042,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
155
+ {"level":50,"time":1781858220043,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
156
+ {"level":50,"time":1781858222043,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
157
+ {"level":50,"time":1781858223071,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
158
+ {"level":50,"time":1781858407944,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
159
+ {"level":50,"time":1781858408016,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
160
+ {"level":50,"time":1781858408975,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
161
+ {"level":50,"time":1781858409045,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
162
+ {"level":50,"time":1781858410784,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
163
+ {"level":50,"time":1781858410848,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
164
+ {"level":50,"time":1781858413981,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
165
+ {"level":50,"time":1781858414038,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
166
+ {"level":50,"time":1781858416016,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
167
+ {"level":50,"time":1781858417042,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
168
+ {"level":50,"time":1781858553388,"pid":8048,"hostname":"semi-win-dev3","event":"updateTabItems-ckKey-error","keyTable":"targets","key":"id","msg":"saveRowFieldInvalid","row":0}
169
+ {"level":50,"time":1781858573224,"pid":8048,"hostname":"semi-win-dev3","event":"updateTabItems-ckKey-error","keyTable":"targets","key":"id","msg":"saveRowFieldDuplicate","row":9,"value":"專案A/頁C"}
170
+ {"level":50,"time":1781858613764,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
171
+ {"level":50,"time":1781858614381,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
172
+ {"level":50,"time":1781858614792,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
173
+ {"level":50,"time":1781858615410,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
174
+ {"level":50,"time":1781858616599,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
175
+ {"level":50,"time":1781858617217,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
176
+ {"level":50,"time":1781858619798,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
177
+ {"level":50,"time":1781858620416,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
178
+ {"level":50,"time":1781858622382,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
179
+ {"level":50,"time":1781858623410,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
180
+ {"level":50,"time":1781858751113,"pid":8048,"hostname":"semi-win-dev3","event":"updateTabItems-ckKey-error","keyTable":"targets","key":"id","msg":"saveRowFieldInvalid","row":0}
181
+ {"level":50,"time":1781858770831,"pid":8048,"hostname":"semi-win-dev3","event":"updateTabItems-ckKey-error","keyTable":"targets","key":"id","msg":"saveRowFieldDuplicate","row":9,"value":"專案A/頁C"}
182
+ {"level":50,"time":1781858810041,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
183
+ {"level":50,"time":1781858810633,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
184
+ {"level":50,"time":1781858811070,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
185
+ {"level":50,"time":1781858811658,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
186
+ {"level":50,"time":1781858812875,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
187
+ {"level":50,"time":1781858813466,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
188
+ {"level":50,"time":1781858816074,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
189
+ {"level":50,"time":1781858816661,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
190
+ {"level":50,"time":1781858818633,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}
191
+ {"level":50,"time":1781858819658,"pid":8048,"hostname":"semi-win-dev3","event":"checkUser-error","msg":"cannotGetUserId"}