Skip to main content

Written By WENDY HOBDAY HAUGH  |  Photos provided (unless noted)

[From the 2025 Home & Garden Magazine]

 

A Tim McLaughlin log home on Lily Lake

Transforming Native Pine into Log Home Masterpieces

Tim McLaughlin

A great room in Mayfield
Photo: Saratogaphotographer.com

A Tim McLaughlin log home on Peck's Lake

A log home built by Tim McLaughlin, owner of Landmark Log Building, is far more than just a beautiful home. It’s a stunning work of art. The expert craftsmanship inherent in every carefully placed log and hand-selected piece of trim imbues the home’s exterior and interior with the rustic elegance of nature.

The Bleecker resident doesn’t just put up the log shell and move on, as many builders do. McLaughlin prefers to stick with a house from start to finish. “I’ve always tried to do one house at a time without any overlap,” he says. “I can’t get spread out mentally or equipment-wise, lugging tools back and forth between two places. I’d build a shell, move it onto the owner’s foundation, and then complete the house. Doing a lot of turnkey structures allowed me to work indoors during the winter, finishing up.”

McLaughlin primarily uses indigenous white pine, harvested as close to his Bleecker log yard as possible. “Typically, I won’t build a log wall more than 40 feet in length. Most kits will use several logs to make a 40 foot wall, but mine are completely one-piece. There are ways of going longer, and I’ve done that, but I’m limited by the trees I can get. Around here, 40 feet is about the most I can get from a tree.” 

In 1980, at age 20, McLaughlin drove from his home outside Buffalo to Prince George, British Columbia, to take a six-week course with B. Allan Mackie, renowned teacher of the Scandinavian full scribe style of log construction.

“After taking the Navy entrance exam and scoring well, I was told I could go into advanced electronics,” McLaughlin recalls, “but it really wasn’t speaking to me. I was looking at colleges, too, but the prospect of four years didn’t appeal. Then, I happened to read a brochure about this course in log construction. Mackie’s school was the only school of its kind at the time. Something spoke to me when I read the timeframe—six weeks instead of four years—and saw a couple pictures of a real tight-fitting notch.”

Some log builders use the chink method, where gaps between the logs are filled with a highly flexible sealant. But McLaughlin uses the full scribe style: a handcrafted technique where logs are fitted together tightly without chinking. A scribing tool is used to painstakingly transfer the precise contours of a lower log on to the log above it, after which the upper log is cut to snugly fit on top of the lower. A lateral groove created in each log is then filled with P gasket material which prohibits air flow through the walls, effectively insulating the home and deterring bugs.

After completing Mackie’s course, McLaughlin helped his carpenter older brother build his log home. Next, he helped a crew of four women build a log home in Upper Saranac, which led to a job in Bleecker. “That was a tough one,” McLaughlin says, “a very inaccessible site and one very old, 25’ crane. But I built the house with John Bleyl, whose family owned a local saw mill. Ten years older than me, John had a lot of experience as a logger and taught me a lot. We became best friends, and I decided to settle in Bleecker.”   

Lacking the means and property to go out on his own, McLaughlin joined the Carpenters Union and worked 15 years on commercial projects, building shopping malls and hospitals. “That’s where I learned to work really fast, working piece-rate. I’d get paid by the square foot to hang dry wall, ceilings, metal framing. I learned a lot, but it wasn’t personal. I never took a picture of anything I did.”

During his Union years, McLaughlin built his own log home using the round notch technique he’d learned at the Mackie school. But after discovering the International Log Builders Association (ILBA) in the mid-1990s, he was introduced to an even better way to control the shrinking and splitting that naturally occurs as a log dries out. 

“The shrink-to-fit method improved the Mackie method to ensure that the log remained tight after the drying process,” McLaughlin says. “I joined the ILBA and attended many workshops, seminars, and conferences in Colorado, Quebec, and Utah. All these builders were passionate about their work and eager to teach others how to improve their craft. That’s where I learned the bulk of my advanced techniques and really took my work to the next level.”

A Tim McLaughlin log home on Lake Pleasant

Once vested, McLaughlin left the Union and, in 1998, built the first of a dozen contracted log homes. He prefers working alone but typically employs one helper. “I’ve worked solo for extended periods, but working with a crane is difficult alone. It helps to have someone there to steady a swinging log and guide it into place.”

Much as he has enjoyed building log homes for clients, at this point in his life McLaughlin has decided to call it quits and start building his own dream home. “I’m going to try to model some elements of Frank Lloyd Wright. I really love his work. I’ve toured two of his houses in Buffalo, and they’re just perfect. His is more of the arts ‘n crafts style, but I really like the cantilevers and the lineal aspects.

“Every house I’ve built has these soaring gable peaks with glass. But mine will be right on a nob overlooking wetlands, so I’m going to soften all the roof peaks off and use hip roofs to keep everything kind of melded into the ground. It’s going to look kind of like a hump, like part of the land. I’m really excited to get started. It’s not about money anymore—it’s about time.”

B. Allan Mackie once wrote, “The family that builds a log house knows their home as a work of art," and Tim McLaughlin’s work exemplifies that belief. With his knowledge, skill, patience, and keen eye for interior and exterior design, every log home he builds becomes a striking blend of man and nature.   

“I enjoy rising to the challenge of taking a pile of crooked logs and solving the puzzle to complete a structure in a timely, efficient manner,” he muses. “When the highest log in any structure is finally laid, usually the last ridge log, I attach a small pine bush to the outward end. According to Scandinavian tradition, placing it there appeases the tree spirits for their donation and brings good luck to the home. I have done this to every structure, large or small. For me, that is the most satisfying moment of an entire project.”

8.081MBMemory Usage86.84msRequest Duration
Joomla! Version4.4.13
PHP Version8.3.21
Identityguest
Response200
Templateyootheme
Database
Server
mysql
Version
8.0.42
Collation
utf8mb3_unicode_ci
Conn Collation
utf8mb4_0900_ai_ci
$_GET
array:3 [ "catid" => "11" "id" => "837" "view" => "article" ]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
array:1 [ "d9074d517be60c0a4ce5800b1af9b96b" => "b0056c204d5ee966070a3162ee2876de" ]
$_SERVER
array:75 [ "USER" => "fivetowers" "HOME" => "/home/fivetowers" "SCRIPT_NAME" => "/index.php" ...
session
array:3 [ "counter" => 2 "timer" => array:3 [ "start" => 1749238739 "last" => 1749238739...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (444.73KB) (918μs)
  • afterInitialise (1.96MB) (14.28ms)
  • afterRoute (375.88KB) (3.64ms)
  • beforeRenderComponent com_content (49.19KB) (651μs)
  • Before Access::preloadComponents (all components) (47.72KB) (1.06ms)
  • After Access::preloadComponents (all components) (116.7KB) (1.52ms)
  • Before Access::preloadPermissions (com_content) (1.63KB) (16μs)
  • After Access::preloadPermissions (com_content) (514.33KB) (1.24ms)
  • Before Access::getAssetRules (id:1012 name:com_content.article.837) (18.65KB) (24μs)
  • After Access::getAssetRules (id:1012 name:com_content.article.837) (7.38KB) (91μs)
  • afterRenderComponent com_content (1.71MB) (38.1ms)
  • afterDispatch (29.42KB) (1.06ms)
  • beforeRenderRawModule mod_finder () (375.87KB) (8.77ms)
  • afterRenderRawModule mod_finder () (1.95MB) (6.2ms)
  • beforeRenderModule mod_finder () (704B) (5μs)
  • afterRenderModule mod_finder () (1.44KB) (144μs)
  • beforeRenderRawModule mod_menu () (1.66KB) (208μs)
  • afterRenderRawModule mod_menu () (12.64KB) (717μs)
  • beforeRenderModule mod_menu () (696B) (4μs)
  • afterRenderModule mod_menu () (3.69KB) (109μs)
  • beforeRenderRawModule mod_custom () (920B) (65μs)
  • afterRenderRawModule mod_custom () (320.1KB) (965μs)
  • beforeRenderModule mod_custom () (704B) (4μs)
  • afterRenderModule mod_custom () (3.15KB) (54μs)
  • beforeRenderRawModule mod_menu () (24B) (73μs)
  • afterRenderRawModule mod_menu () (552B) (377μs)
  • beforeRenderModule mod_menu () (696B) (3μs)
  • afterRenderModule mod_menu () (2.76KB) (60μs)
  • beforeRenderRawModule mod_custom () (920B) (56μs)
  • afterRenderRawModule mod_custom () (1.03KB) (356μs)
  • beforeRenderModule mod_custom () (704B) (5μs)
  • afterRenderModule mod_custom () (1.23KB) (76μs)
  • beforeRenderRawModule mod_menu () (1.8KB) (170μs)
  • afterRenderRawModule mod_menu () (4.45KB) (471μs)
  • beforeRenderModule mod_menu () (696B) (4μs)
  • afterRenderModule mod_menu () (1.34KB) (71μs)
  • beforeRenderRawModule mod_finder () (96B) (8μs)
  • afterRenderRawModule mod_finder () (7.28KB) (520μs)
  • beforeRenderModule mod_finder () (704B) (3μs)
  • afterRenderModule mod_finder () (1.34KB) (71μs)
  • beforeRenderRawModule mod_custom () (288B) (8μs)
  • afterRenderRawModule mod_custom () (912B) (143μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (1.23KB) (54μs)
  • beforeRenderRawModule mod_custom () (6.27KB) (146μs)
  • afterRenderRawModule mod_custom () (1008B) (121μs)
  • beforeRenderModule mod_custom () (704B) (2μs)
  • afterRenderModule mod_custom () (2.77KB) (61μs)
  • beforeRenderRawModule mod_custom () (472B) (58μs)
  • afterRenderRawModule mod_custom () (1008B) (139μs)
  • beforeRenderModule mod_custom () (704B) (3μs)
  • afterRenderModule mod_custom () (2.43KB) (53μs)
  • afterRender (306.95KB) (3.59ms)
  • 1 x afterRenderComponent com_content (1.71MB) (43.87%)
    38.10ms
    1 x afterInitialise (1.96MB) (16.44%)
    14.28ms
    1 x beforeRenderRawModule mod_finder () (375.87KB) (10.1%)
    8.77ms
    1 x afterRenderRawModule mod_finder () (1.95MB) (7.14%)
    6.20ms
    1 x afterRoute (375.88KB) (4.19%)
    3.64ms
    1 x afterRender (306.95KB) (4.14%)
    3.59ms
    1 x After Access::preloadComponents (all components) (116.7KB) (1.75%)
    1.52ms
    1 x After Access::preloadPermissions (com_content) (514.33KB) (1.43%)
    1.24ms
    1 x Before Access::preloadComponents (all components) (47.72KB) (1.22%)
    1.06ms
    1 x afterDispatch (29.42KB) (1.22%)
    1.06ms
    1 x afterRenderRawModule mod_custom () (320.1KB) (1.11%)
    965μs
    1 x afterLoad (444.73KB) (1.06%)
    918μs
    1 x afterRenderRawModule mod_menu () (12.64KB) (0.83%)
    717μs
    1 x beforeRenderComponent com_content (49.19KB) (0.75%)
    651μs
    1 x afterRenderRawModule mod_finder () (7.28KB) (0.6%)
    520μs
    1 x afterRenderRawModule mod_menu () (4.45KB) (0.54%)
    471μs
    1 x afterRenderRawModule mod_menu () (552B) (0.43%)
    377μs
    1 x afterRenderRawModule mod_custom () (1.03KB) (0.41%)
    356μs
    2 x afterRenderRawModule mod_custom () (1008B) (0.3%)
    260μs
    1 x beforeRenderRawModule mod_menu () (1.66KB) (0.24%)
    208μs
    1 x beforeRenderRawModule mod_menu () (1.8KB) (0.2%)
    170μs
    1 x beforeRenderRawModule mod_custom () (6.27KB) (0.17%)
    146μs
    1 x afterRenderModule mod_finder () (1.44KB) (0.17%)
    144μs
    1 x afterRenderRawModule mod_custom () (912B) (0.16%)
    143μs
    2 x afterRenderModule mod_custom () (1.23KB) (0.15%)
    130μs
    2 x beforeRenderRawModule mod_custom () (920B) (0.14%)
    121μs
    1 x afterRenderModule mod_menu () (3.69KB) (0.13%)
    109μs
    1 x After Access::getAssetRules (id:1012 name:com_content.article.837) (7.38KB) (0.1%)
    91μs
    1 x beforeRenderRawModule mod_menu () (24B) (0.08%)
    73μs
    1 x afterRenderModule mod_menu () (1.34KB) (0.08%)
    71μs
    1 x afterRenderModule mod_finder () (1.34KB) (0.08%)
    71μs
    1 x afterRenderModule mod_custom () (2.77KB) (0.07%)
    61μs
    1 x afterRenderModule mod_menu () (2.76KB) (0.07%)
    60μs
    1 x beforeRenderRawModule mod_custom () (472B) (0.07%)
    58μs
    1 x afterRenderModule mod_custom () (3.15KB) (0.06%)
    54μs
    1 x afterRenderModule mod_custom () (2.43KB) (0.06%)
    53μs
    1 x Before Access::getAssetRules (id:1012 name:com_content.article.837) (18.65KB) (0.03%)
    24μs
    5 x beforeRenderModule mod_custom () (704B) (0.02%)
    17μs
    1 x Before Access::preloadPermissions (com_content) (1.63KB) (0.02%)
    16μs
    3 x beforeRenderModule mod_menu () (696B) (0.01%)
    11μs
    2 x beforeRenderModule mod_finder () (704B) (0.01%)
    8μs
    1 x beforeRenderRawModule mod_finder () (96B) (0.01%)
    8μs
    1 x beforeRenderRawModule mod_custom () (288B) (0.01%)
    8μs
53 statements were executed, 5 of which were duplicates, 48 unique10.87ms906.3KB
  • SELECT @@SESSION.sql_mode;48μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `jos_session` WHERE `session_id` = ?107μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `jos_session` WHERE `session_id` = :session_id LIMIT 155μs1.31KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • UPDATE `jos_session` SET `guest` = :guest , `time` = :time , `userid` = :user_id , `username` = :username , `client_id` = :client_id WHERE `session_id` = :session_id230μs992BParams/libraries/src/Session/MetadataManager.php:316Copy
  • SELECT `id`,`rules` FROM `jos_viewlevels`68μs928B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `jos_usergroups` AS `a` LEFT JOIN `jos_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest112μs1.33KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_k2" AND e.type = "component"89μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_virtuemart" AND e.type = "component"63μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_easyblog" AND e.type = "component"55μs1.13KB/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jomclassifieds" AND e.type = "component"53μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_hikashop" AND e.type = "component"55μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_rseventspro" AND e.type = "component"54μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_zoo" AND e.type = "component"73μs536B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jticketing" AND e.type = "component"56μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_icagenda" AND e.type = "component"54μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_eventbooking" AND e.type = "component"52μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_eshop" AND e.type = "component"55μs1.76KB/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_rsblog" AND e.type = "component"52μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_mijovideos" AND e.type = "component"53μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_opencart" AND e.type = "component"60μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jcart" AND e.type = "component"54μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_djclassifieds" AND e.type = "component"51μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_j2store" AND e.type = "component"50μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_phocacart" AND e.type = "component"52μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_jshopping" AND e.type = "component"51μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_igallery" AND e.type = "component"52μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SELECT e.enabled FROM jos_extensions AS e WHERE e.element = "com_dpcalendar" AND e.type = "component"55μs520B/administrator/components/com_tagz/helpers/tagz.php:890Copy
  • SHOW FULL COLUMNS FROM `jos_tagz_config`385μs1.3KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • SELECT * FROM `jos_tagz_config` WHERE `name` = 'config'72μs592B/libraries/src/Table/Table.php:755Copy
  • SELECT id,template FROM jos_template_styles WHERE client_id=0 AND home=1103μs592B/administrator/components/com_widgetkit/widgetkit.php:28Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yooessentials' AND folder = 'system'89μs536B/plugins/system/yooessentials/helper.php:153Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yooessentials' AND folder = 'system' LIMIT 189μs536B/plugins/system/yooessentials/modules/platform-joomla/src/Database.php:52Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jos_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39,:preparedArray40,:preparedArray41)468μs9.94KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jos_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 0542μs49.48KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `jos_content`909μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • UPDATE `jos_content` SET `hits` = (`hits` + 1) WHERE `id` = '837'312μs48B/libraries/src/Table/Table.php:1325Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `jos_content` AS `a` INNER JOIN `jos_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `jos_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `jos_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `jos_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `jos_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)429μs62.13KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `jos_categories` AS `s` INNER JOIN `jos_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`304μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `jos_contentitem_tag_map` AS `m` INNER JOIN `jos_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)269μs3.97KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `jos_categories` AS `s` INNER JOIN `jos_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`266μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM jos_fields AS a LEFT JOIN `jos_languages` AS l ON l.lang_code = a.language LEFT JOIN jos_users AS uc ON uc.id=a.checked_out LEFT JOIN jos_viewlevels AS ag ON ag.id = a.access LEFT JOIN jos_users AS ua ON ua.id = a.created_user_id LEFT JOIN jos_fields_groups AS g ON g.id = a.group_id LEFT JOIN `jos_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2)) AND `a`.`access` IN (:preparedArray3,:preparedArray4)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray5,:preparedArray6)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC323μs4.75KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `a`.`id`,`a`.`title`,`a`.`catid`,`a`.`language`, CASE WHEN CHAR_LENGTH(`a`.`alias`) != 0 THEN CONCAT_WS(':', `a`.`id`, `a`.`alias`) ELSE a.id END AS `slug`, CASE WHEN CHAR_LENGTH(`cc`.`alias`) != 0 THEN CONCAT_WS(':', `cc`.`id`, `cc`.`alias`) ELSE cc.id END AS `catslug` FROM `jos_content` AS `a` LEFT JOIN `jos_categories` AS `cc` ON `cc`.`id` = `a`.`catid` WHERE `a`.`catid` = :catid AND `a`.`state` = :state AND `a`.`access` IN (:preparedArray1,:preparedArray2) AND (`publish_up` IS NULL OR `publish_up` <= :nowDate1) AND (`publish_down` IS NULL OR `publish_down` >= :nowDate2) ORDER BY CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END DESC2.38ms41.72KBParams/plugins/content/pagenavigation/src/Extension/PageNavigation.php:188Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `jos_categories` AS `s` INNER JOIN `jos_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`255μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `params` FROM `jos_tagz` WHERE `component_id` = 123 AND `component_type` = "menu"297μs520B/plugins/system/tagz/tagz.php:650Copy
  • SELECT `params` FROM `jos_tagz` WHERE `component_id` = 837 AND `component_type` = "content"111μs520B/plugins/system/tagz/tagz.php:650Copy
  • SELECT `name`,`element` FROM `jos_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1152μs592B/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `jos_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)169μs584B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • SELECT custom_data FROM jos_extensions WHERE element = 'yootheme' AND folder = 'system' LIMIT 1359μs688.52KB/templates/yootheme/packages/platform-joomla/src/Storage.php:30Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM jos_fields AS a LEFT JOIN `jos_languages` AS l ON l.lang_code = a.language LEFT JOIN jos_users AS uc ON uc.id=a.checked_out LEFT JOIN jos_viewlevels AS ag ON ag.id = a.access LEFT JOIN jos_users AS ua ON ua.id = a.created_user_id LEFT JOIN jos_fields_groups AS g ON g.id = a.group_id WHERE ( (`a`.`context` = :context AND `a`.`access` IN (:preparedArray1,:preparedArray2)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray3,:preparedArray4)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC267μs4.06KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `title` FROM `jos_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)130μs584B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `jos_scheduler_tasks` AS `a` WHERE `a`.`state` = 1126μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
  • SELECT `session_id` FROM `jos_session` WHERE `session_id` = ?88μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • UPDATE `jos_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?171μs592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy